3. 기초 프로그래밍 3. 기초 프로그래밍 실습 5

Download Report

Transcript 3. 기초 프로그래밍 3. 기초 프로그래밍 실습 5

3장. 기초 프로그래밍
3. 기초 프로그래밍
3.3 체크 상자 (Check Box)
여러 항목을 한꺼번에 선택할 수 있다
체크 여부에 따라 상태값이 달라 진다.
체크 함
체크 안함
False
: True
: False
True
3. 기초 프로그래밍

실습 4 : 체크상자 활용
에디터상자 1개, 체크상자 1개, 버튼 1개를 만들고 아래 기능을 부여한다.
 체크 상자를 체크하면 에디터상자에 아래 문자열이 표시된다.
 체크 상자를 체크 해제하면 아래 문자열로 바뀐다.
3. 기초 프로그래밍

따라하기
1.
새로 MFC 응용프로그램 프로젝트를 생성한다. (이름 : Check)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
4.
컨트롤 도구 모음을
이용하여 우측과 같이
만든다.
IDC_EDIT1
IDC_CHECK1
IDC_BUTTON1
3. 기초 프로그래밍
5. 에디터 상자를 우측 마우스 클릭한 후 클래스 마법사를 실행하고
[멤버 변수] 탭을 클릭한다.
3. 기초 프로그래밍
6.
IDC_EDIT1에 대하여 [변수 추가] 를 한다.
(변수이름 : m_strEdit, 범주 : Value, 형식 : CString)
3. 기초 프로그래밍
7. IDC_CHECK1에 대하여 [변수 추가] 를 한다.
(변수이름 : m_ctlCheck, 범주 : Value, 형식 : BOOL)
False
True
3. 기초 프로그래밍
8. 체크 상자를 더블 클릭하고 다음의 코드를 추가한다.
void CCheckDlg::OnClickedCheck1()
{
// TODO : 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
if (m_ctlCheck == TRUE)
m_strEdit="체크상자가 체크되었습니다.";
else
m_strEdit="체크상자가 해제되었습니다.";
UpdateData(FALSE);
}
3. 기초 프로그래밍
9.
종료 버튼을 더블 클릭하고 아래 코드를 추가한다.
void CCheckDlg::OnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
OnOK();
다이얼로그 상자 종료
}
10. 실행 후 결과를 확인해 본다.
3. 기초 프로그래밍

라디오 버튼 (Radio Button)
여러 개 중에서 하나의 상태만 선택
해야 할 때 주로 사용 (배타적 선택)
반드시 그룹 상자와 함께 사용된다.
예


선택
: True
선택 안함 : False
3. 기초 프로그래밍

그룹 상자(Group Box)
컨트롤들을 그룹으로 묶을 때 사용
3. 기초 프로그래밍

실습 5 : 그룹상자와 라디오버튼 활용
에디터상자 1개, 그룹상자 1개, 라디오버튼 3개, 버튼 1개를 만들고
아래 기능을 부여한다.
 라디오버튼1을 선택하면 에디터상자에 아래 문자열이 표시된다.
 다른 라디오버튼을 선택하면 해당되는 문자열로 바뀐다.
3. 기초 프로그래밍

따라하기
1.
새로 MFC 응용프로그램 프로젝트를 생성한다. (이름 : Radio)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음 순서대로 만든다.
(반드시 라디오버튼보다 그룹상자를 먼저 만들어야 함)

IDC_STATIC



IDC_RADIO1


IDC_RADIO3
IDC_BUTTON1
IDC_EDIT1
3. 기초 프로그래밍
5.
라디오버튼1 을 클릭하고 속성창에서 Group을 True로 바꾼다.
다른 라디오 버튼은 그냥 놔둔다.
3. 기초 프로그래밍
6. 우측마우스를 클릭하여 클래스마법사를 실행한다. 클래스마법사
창이 뜨면 [멤버변수] 탭을 누르고 IDC_EDIT1과 IDC_RADIO1에
대하여 각각 [변수 추가] 를 한다.
IDC_EDIT1
IDC_RADIO1
3. 기초 프로그래밍
8.
Radio1을 더블 클릭하고 다음의 코드를 추가한다.
void CRadioDlg::OnClickedRadio1()
{
// TODO : 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
m_Edit="라디오버튼 1이 선택되었습니다.";
UpdateData(FALSE);
}
3. 기초 프로그래밍
9.
Radio2을 더블 클릭하고 다음의 코드를 추가한다.
void CRadioDlg::OnClickedRadio2()
{
// TODO : 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
m_Edit="라디오버튼 2가 선택되었습니다.";
UpdateData(FALSE);
}
3. 기초 프로그래밍
10.
Radio3을 더블 클릭하고 다음의 코드를 추가한다.
void CRadioDlg::OnClickedRadio3()
{
// TODO : 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
m_Edit="라디오버튼 3이 선택되었습니다.";
UpdateData(FALSE);
}
3. 기초 프로그래밍
11. 종료 버튼을 더블 클릭하고 아래 코드를 추가한다.
void CRadioDlg::OnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
OnOK();
다이얼로그 상자 종료
}
11. 실행 후 결과를 확인해 본다.
3. 기초 프로그래밍
3.4 스태틱 텍스트 컨트롤 (Static Text)
문자열을 표시하기 위한 컨트롤
- 제목, 간단한 설명 등 표시에 사용
Caption 에 지정된 문자열이 화면에
표시됨
문자열 입력을 받을 수 없음. - 단순
히 주어진 문자열을 화면에 표시만
가능
3. 기초 프로그래밍

실습 6
1.
앞서 실습한 라디오버튼 화면에 스태틱 텍스트 컨트롤을
추가하고 [라디오버튼 실습]이라고 표시해 본다.
컨트롤 속성 중 Caption 을
“라디오버튼 실습”으로 바꾼다.
3. 기초 프로그래밍

연습문제 2

입력한 점수가 80점 이상이면 “합격” 그 이하면 “불합격”
을 표시하도록 프로그래밍 할 것
3. 기초 프로그래밍

따라하기
1.
새로 MFC 응용프로그램 프로젝트를 생성한다. (이름 : exam1)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음과 같이 만든다.
IDC_EDIT1
IDC_EDIT2
IDC_BUTTON1
IDC_STATIC
Number 속성을
True로 하면 숫자만
입력할 수 있다.
3. 기초 프로그래밍
5. 에디터 상자를 우측 마우스 클릭한 후 클래스 마법사를 실행하고
[멤버 변수] 탭을 클릭한다.
3. 기초 프로그래밍
6.
IDC_EDIT1과 IDC_EDIT2에 대하여 각각 [변수 추가] 를 한다.
(주의 : EDIT1의 변수 형식은 int (정수형) 으로 한다.)
IDC_EDIT1
IDC_EDIT2
Edit1에 입력할
내용은 점수(숫자)
이므로
3. 기초 프로그래밍
7.
[확인]을 더블 클릭하고 다음의 코드를 추가하고 실행해 본다.
void Cexam1Dlg::OnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
if (m_Edit1 >= 80)
{
m_Edit2 = "합격";
}
else
{
m_Edit2 = "불합격";
}
UpdateData(FALSE);
}
3. 기초 프로그래밍

연습문제 3


입력한 점수에 따라 아래 평점이 표시되도록 할 것
평점
if (m_Edit1 >= 90)
90~100
80~89
70~79
60~69
0~59
:A
:B
:C
:D
:F
m_Edit2 = "A";
else if (m_Edit1 >= 80)
m_Edit2 = "B";
else if (m_Edit1 >= 70)
m_Edit2 = "C";
else if (m_Edit1 >= 60)
m_Edit2 = "D";
else
m_Edit2 = "F";
중괄호 생략