1. 기본 다이얼로그 창에 탭컨트롤을 배치한다.
2. 탭컨트롤 변수를 생성한다 : 변수는 컨트롤 변수로 생성
3. 탭컨트롤의 탭 화면으로 사용될 다이얼로그를 생성한다. : 클래스까지 선언
다이얼로그의 속성중 Boder 속성은 None으로 설정 : None으로 주는 까닭은 다이얼로그 테두리가
안보이게 하기 위해서이다.
Style은 Child 속성으로 설정한다.
4. 탭컨트롤의 탭 타이틀을 설정한다.
TCITEM형 탭컨트롤아이템변수를 선언하고
탭컨트롤아이템변수.mask = TCIF_TEXT ; : 텍스트로 설정 -> 다른속성도 있음
탭컨트롤아이템변수.pszText = "탭컨트롤명"; 으로 설정한후
탭컨트롤변수.InsertItem(인덱스 번호,&탭컨트롤아이템변수);를 이용 탭컨트롤에 탭 추가
5. 탭 컨틀롤에 보여질 다이얼로그 화면을 생성.
다이얼로그클래스변수.Create(다이얼로그 ID,부모 윈도우(보통 this)); //생성
6.위치를 잡아준다. 위치를 잡아주기 위해서는
다이얼로그클래스변수.SetWindowPos()를 사용하여 위치를 정해준다.
ex>
CRect m_rClientRect;
탭컨트롤변수.GetItemRect(0,m_rClientRect);
다이얼로그클래스변수.SetWindowPos(&wndTop, m_rClientRect.left+10, m_rClientRect.bottom + 10, 0, 0, SWP_NOSIZE);
7. 이제 탭 화면을 보여주기만 하면된다. 한번에 하나의 화면을 보여주어야 하기 때문에 탭선택에 따라
화면을 보여주도록 설정하는것이 좋다.
// 해더위치에 선언
void ChangeTab(int nIndex);
//CPP파일에 생성
void 클래스명::ChangeTab(int nIndex)
{ //초기에는 화면을 숨긴다. 여려화면이라면 다 숨기도록 하자
다이얼로그클래스변수.ShowWindow(SW_HIDE);
switch(nIndex)
{
case 0 : //첫번째 탭선택;
{ //첫번째 탭에 해당하는 다이얼로그 보여주기
다이얼로그클래스변수.ShowWindow(SW_SHOW);
break;
}
}
}
탭 SELCHANGE이벤트가 발생하였을때
탭의 선택 셀 번호를 가져와서 위의 함수 인자로 넘겨주면 탭선택시의 화면이 화면에 보여지게 된다.
탭의 선택셀값을 가져오기 위해서는 탭컨트롤변수.GetCurSel()를 사용하면 선택한 셀을 얻을 수 있다.
| [MFC] INI File 입출력 (0) | 2008/01/29 |
|---|---|
| [MFC]CSocket 통신 (0) | 2008/01/23 |
| [MFC]탭컨트롤 (0) | 2008/01/22 |
| 드라이버 학습에 참고 사이트 (0) | 2008/01/21 |
| 파일검색 루틴 (0) | 2008/01/18 |
| [MFC]콘트롤의 사이즈나 위치 변경시 깜박임 현상 줄이기 (0) | 2007/10/01 |
Tag : C++ / MFC