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

Download Report

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

3장. 기초 프로그래밍
3. 기초 프로그래밍

콤보 상자 (Combo Box)
여러 항목들 중에서 하나를 선택
할 수 있는 컨트롤
- ▼ 을 클릭할 때만 리스트
항목들을 표시하고 선택
할 수 있다 (공간 절약)
3. 기초 프로그래밍

실습 7 : 콤보상자 활용
콤보상자 1개, 버튼 2개를 만들고 아래 기능을 부여한다.
 콤보상자의 화살표 ▼ 를 누르면 아래의 선택목록이 표시된다.
 목록 중 하나를 선택하고 확인을 누르면 대화상자가 표시된다.
3. 기초 프로그래밍

따라하기
1.
새로 MFC 응용프로그램 프로젝트를 생성한다. (이름 : Combo)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음과 같이 만든다.
IDC_COMBO1
IDC_BUTTON1
IDC_BUTTON2
3. 기초 프로그래밍
5. IDC_COMBO1 의 속성 중 Data 항목에 아래와 같이 입력한다.
1;2;3;4;
3. 기초 프로그래밍
6. 클래스 마법사를 실행하고 [멤버 변수] 탭을 클릭해
IDC_COMBO1에 대해 아래와 같이 변수를 추가한다.
m_strCombo
3. 기초 프로그래밍
7.
[출력]을 더블 클릭하고 다음의 코드를 추가한다.
void CComboDlg::OnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
if (m_strCombo == "1")
MessageBox("1을 선택하였습니다.","알림");
else if(m_strCombo == "2")
MessageBox("2를 선택하였습니다.","알림");
else if(m_strCombo == "3")
MessageBox("3을 선택하였습니다.","알림");
else if(m_strCombo == "4")
MessageBox("4를 선택하였습니다.","알림");
UpdateData(FALSE);
}
3. 기초 프로그래밍
8.
종료 버튼을 더블 클릭하고 아래 코드를 추가한다.
void CComboDlg::OnClickedButton2()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
OnOK();
다이얼로그 상자 종료
}
9.
실행 후 결과를 확인해 본다.
3. 기초 프로그래밍
콤보 상자가 드롭다운 되지 않을 때
1. 콤보 상자의 오른쪽에 있는 드롭다운 화살표 단추를 클릭
그러면 컨트롤의 윤곽선이 변경되어 콤보 상자의 크기가 표시된다.
2. 아래쪽 드롭다운 목록 영역의 크기를 변경한다.
3. 드롭다운 화살표를 다시 클릭한다.
3. 기초 프로그래밍
3.5 Progress Control
현재 진행 상황을 표시할 수
있도록 해주는 컨트롤
시간이 좀 걸리는 작업을 수행
할때 현재 작업이 몇 퍼센트
진행되었는지 보기위해 사용
3. 기초 프로그래밍

실습 8 : 프로그레스 컨트롤 활용
스태틱상자 1개, 프로그레스 컨트롤 1개, 버튼 2개를 만들고 아래
기능을 부여한다.
 시작 버튼을 누르면 프로그레스바 진행이 표시된다.
 종료 버튼을 누르면 종료된다.
3. 기초 프로그래밍

따라하기
1.
새로 MFC 응용프로그램 프로젝트를 생성한다. (이름 : Prog)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음과 같이 만든다.
IDC_STATIC
IDC_PROGRESS1
IDC_BUTTON1
IDC_BUTTON2
3. 기초 프로그래밍
5.
클래스 마법사를 실행하고 [멤버 변수] 탭을 클릭해
IDC_PROGRESS1에 대해 아래와 같이 변수를 추가한다.
m_ctlPro
중요!!!
-> Value가 아님
3. 기초 프로그래밍
6.
[시작]을 더블 클릭하고 다음의 코드를 추가한다.
void CProDlg::OnButtStart()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
}
m_ctlPro.SetRange(0, 19);
m_ctlPro.SetStep(1);
진행폭 설정 (0 ~ 19)
for (int a=0; a<=18; a++)
{
m_ctlPro.StepIt();
Sleep(100);
}
0 ~ 18 까지 19번 반복
진행 스텝 지정 (1씩 증가)
진행정도를 나태내는 바를 한 스텝 만큼 증가
0.1초 멈춤 (진행속도를 천천히)
3. 기초 프로그래밍

for 반복문

무조건 정해진 만큼 반복
3. 기초 프로그래밍
7.
종료 버튼을 더블 클릭하고 아래 코드를 추가한다.
void CProgDlg::OnClickedButton2()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
OnOK();
다이얼로그 상자 종료
}
8.
실행 후 결과를 확인해 본다.
3. 기초 프로그래밍
3.6 리스트 상자 (List Box)
표시 항목을 여러 개 만들어
선택할 수 있게 해주는 컨트롤
항목은 문자열만 추가 가능
ListBox
3. 기초 프로그래밍

실습 9 : 리스트 상자 활용
리스트 상자에 항목을 추가하고 삭제하는 기능을 구현해 본다.
 에디터 상자에 문자를 입력하고 추가 버튼을 누르면 리스트
상자에 항목이 추가된다.
 리스트 상자의 항목을 선택하고 삭제를 누르면 항목이 삭제된다.
3. 기초 프로그래밍

따라하기
1.
새 프로젝트를 생성한다. (이름 : ListBox)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음과 같이 만든다.
IDC_LIST1
IDC_EDIT1
IDC_BUTTON1
IDC_BUTTON2
IDC_BUTTON3
3. 기초 프로그래밍
5.
클래스 마법사를 실행하고 [멤버 변수] 탭을 클릭해 IDC_EDIT1 ,
IDC_LIST1 에 대해 아래와 같이 변수를 추가한다.
m_strInput
m_cListBox
3. 기초 프로그래밍
6.
[추가] 버튼을 더블 클릭하고 다음의 코드를 추가한다.
void CListBox::OnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
m_cListBox.AddString(m_strInput);
m_strInput="";
}
UpdateData(FALSE);
에디터 상자값을 리스트
상자에 Add 한다.
에디터 상자를 깨끗이 지운다.
3. 기초 프로그래밍
7.
[삭제] 버튼을 더블 클릭하고 다음의 코드를 추가한다.
void CListBox::OnClickedButton2()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
변수 nList를
정수형으로 선언
}
int nList=0;
nList = m_cListBox.GetCurSel();
m_cListBox.DeleteString(nList);
UpdateData(FALSE);
리스트상자에서 선택한 항목에 해당
하는 값을 변수 nList에 넣는다.
리스트 상자에서 nList에 해당하는
항목을 지운다.
3. 기초 프로그래밍
8.
종료 버튼을 더블 클릭하고 아래 코드를 추가한다.
void CProgDlg::OnClickedButton3()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
OnOK();
다이얼로그 상자 종료
}
9.
실행 후 결과를 확인해 본다.
3. 기초 프로그래밍
참고 : Enter 키를 눌렀을 때 종료되지 않고 추가
되도록 하려면
3. 기초 프로그래밍

실습 10
에디터 상자에 단을 입력하고 출력을 누르면 리스트 박스에 구구단이
출력 되도록 만든다.
3. 기초 프로그래밍

따라하기
1.
새 프로젝트를 생성한다. (이름 : gugu)
2.
응용프로그램 종류를 [대화 상자 기반]으로,
[유니코드 라이브러리 사용]을 체크 해제한다.
3.
화면에 있는 컨트롤들을 삭제하여 깨끗하게 한다.
3. 기초 프로그래밍
4. 컨트롤 도구 모음을 이용하여 다음과 같이 만든다.
IDC_EDIT1
IDC_LIST1
IDC_BUTTON1
3. 기초 프로그래밍
5.
클래스 마법사를 실행하고 [멤버 변수] 탭을 클릭해 IDC_LIST1 ,
IDC_EDIT1 에 대해 아래와 같이 변수를 추가한다.
m_Edit1
m_List1
3. 기초 프로그래밍
6.
[출력]을 더블 클릭하고 다음의 코드를 추가한뒤 결과를 확인한다.
void CListConDlg::OnBnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
UpdateData(TRUE);
int rst;
char a[10];
char b[10];
atoi함수 : 문자를 숫자로
itoa함수 : 숫자를 문자로
for (int i = 1; i < 10; i++)
1에서 9까지 반복
{
rst = atoi(m_Edit1) * i;
m_List1.AddString( m_Edit1 + "X" + itoa(i,a, 10) + "=" + itoa(rst, b, 10) );
}
}
UpdateData(FALSE);
리스트박스에 구구단 형태로 표시 (예 : 5 X 2 = 10)
3. 기초 프로그래밍
참고 : atoi 와 itoa 함수
1. 문자를 숫자로 : atoi(문자)
사용 예 :
atoi(“500”)
500
2. 숫자를 문자로 : itoa(숫자, 임시변수 , 10)
사용 예 :
char a[100];
itoa(500, a, 10)
“500”
3. 기초 프로그래밍
8.
결과를 확인해 본다.