[MFC]탭컨트롤

Posted 2008/01/22 13:35 by J2L

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()를 사용하면 선택한 셀을 얻을 수 있다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'C++' 카테고리의 다른 글

[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 :

« PREV : 1 : ... 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : 53 : ... 85 : NEXT »