짬좀 차신 여러분 지금까지 오신 걸 환영합니다.
여러분들은 다양한 컨트롤들을 체험해보시고 계십니다.?
먼저
결과물을 확인해보겠습니다.
1. 결과물
2. 레이아웃 설계
알아서 디자인 하시는 거 알죠??
컨트롤 ID |
CAPTION |
범주(T) |
맴버 변수(N) |
이벤트 처리기 |
IDC_STATIC |
계급 |
X |
X |
X |
IDC_STATIC |
이름 |
X |
X |
X |
IDC_LIST1 |
|
Control |
m_ListLevel |
X |
IDC_LIST2 |
|
Control |
m_ListName |
X |
IDC_BUTTON1 |
조회 |
X |
X |
OnBnClickedButton1 |
IDC_BUTTON2 |
이름 선택 삭제 |
X |
X |
OnBnClickedButton2 |
3. 코드 작성
// CExampleDlg 메시지 처리기 BOOL CExampleDlg::OnInitDialog() // 중략 // TODO: 여기에 추가 초기화 작업을 추가합니다.
m_ListName.InsertString(0, _T("도도1"));
return TRUE; } |
(사용자 프로젝트명)Dlg.cpp - OnInitDialog() 함수 내 입력 |
// 계급장 strMsg.Append(strTmp + " "); // 1. strMsg에 m_ListLevel의 값 = 입력 추가 m_ListName.GetText(nameidx, strTmp); strMsg.Append(strTmp); // 2. strMsg에 m_ListName의 값 = 입력 추가 AfxMessageBox(strMsg); // 3. 출력 }
idx = m_ListName.GetCurSel();
if (idx == -1)
} |
ExampleDlg.cpp -> 버튼 이벤트 처리 |
4. 몇 가지 ListBox 소개
ListBox에서 컨트롤 맴버 함수에 대해 소개하겠습니다.
리스트박스 컨트롤은 CListBox 클래스를 사용하며, CListBox 클래스는 다음과 같은 멤버 함수들을 가지고 있습니다.
afxwin에 위치함.
함수 원형 |
설명 |
int AddString(LPCTSTR lpszItem) |
리스트 박스의 문자열 항목을 추가할 때 사용함. (순서 상관없이) |
int InsertString(int nIndex, LPCTSTR lpszItem) |
리스트 박스의 문자열 항목 추가에 사용함. (특정 위치, 순서 있음.) |
int DeleteString(UINT nIndex) |
특정 위치의 항목을 삭제함. |
void ResetContent( ) |
리스트 박스의 내용 초기화 |
int GetCurSel( ) |
리스트 박스 내 현재 선택한 값의 인덱스 값 반환 |
int SetCurSel( int nSelect ) |
특정 아이템을 선택함. -> 원하는 인덱스에 커서를 위치시키고 싶을 때 |
void GetText(int nIndex, CString & rString) int GetText(_In_ int nIndex, _Pre_notnull_ _Post_z_ LPTSTR lpszBuffer) const; |
특정 인덱스에 위치한 문자열을 획득 ex) CString aaa;라고 선언
m_List1.GetText( 0, aaa); 라고 하면 가져올 수 있음.
|
int GetTextLen(int nIndex) const; |
특정 인덱스의 문자열 길이를 반환 |
콤보박스(ComboBox)는 사용법이 거의 같으므로 생략합니다.
'소프트웨어(SW) > MS - C++ (GUI) MFC' 카테고리의 다른 글
[MFC] 윈도우 프로그래밍 기초 - 공통 대화 상자란? (1) | 2015.03.24 |
---|---|
[MFC] 윈도우 프로그래밍 기초 - 스크롤바(Scroll Bar) 제어 (2) | 2015.03.22 |
[MFC] 윈도우 프로그래밍 기초 - Edit Control(에디트 컨트롤) - 택스트상자 (2) | 2015.03.22 |
[MFC] 윈도우 프로그래밍 기초 - (라디오 버튼) + 그룹박스 (2) | 2015.03.22 |
[MFC] 윈도우 프로그래밍 기초 - 체크 박스 + 버튼 응용 실습 예제 (2) | 2015.03.21 |