Visual Studio MFC TabControl 사용법


//==================================
* 'Tab Control' 추가 (ex, IDC_TAB1)
    - 멤버변수 추가
        - 방법1 : '탭콘트롤'에서 우클릭 -> Add Variable


        - 방법2 : Class Wizard (Ctrl+Shift+X) -> Member Variables
        - IDC_TAB1, CTabCtrl, m_TabCtrl1
   


//=======================================
* 각 탭에 사용할 하위 다이얼로드 박스 추가
    - Resource View -> Insert Dialog (ex, IDD_DLG_TAB1, IDD_DLG_TAB2)
   

- 속성 수정
        - Style : Child,    Border : None
  

    - Dialog Class 추가
        - 다이얼로그에서 우클릭 -> Add Class (ex, Tab1, Tab2)


    - 생성한 탭 클래스를 '메인 대화상자의 멤버변수'로 추가
#include "Tab1.h"
#include "Tab2.h"

class {
...
public:
    Tab1    m_tab1;
    Tab2    m_tab2;
    CDialogEx    *m_pDlgCurTab;//현재 탭 저장용

    - OnInitDialog() 함수 소스 코드 수정   
    //탭 추가
    m_TabCtrl1.InsertItem(1, _T("탭 1"));
    m_TabCtrl1.InsertItem(2, _T("탭 2"));

    //
    CRect rect;
    m_TabCtrl1.GetClientRect(&rect);
    const int W = 3, T = 23;
    m_tab1.Create(IDD_DLG_TAB1, &m_TabCtrl1);
    m_tab1.SetWindowPos(NULL, W, T, rect.Width()-W*2, rect.Height()-(T+W), SWP_SHOWWINDOW | SWP_NOZORDER);
    m_pDlgCurTab = &m_tab1;

    m_tab2.Create(IDD_DLG_TAB2, &m_TabCtrl1);
    m_tab2.SetWindowPos(NULL, W, T, rect.Width()-W*2, rect.Height()-(T+W), SWP_NOZORDER);



//====================
* '탭 콘트롤' 클릭 처리
    - 방법1 : '탭 콘트롤' 더블 클릭해서    OnTcnSelchangeTab1() 함수 추가
    - 방법2 : 클래스 위저드 -> Commands -> IDC_TAB1 -> TCN_SELCHANGE


    - OnTcnSelchangeTab1() 함수에 코드 추가
    int nIndex = m_TabCtrl1.GetCurSel();   
    switch (nIndex)
    {
    case 0:
        if (m_pDlgCurTab){ m_pDlgCurTab->ShowWindow(SW_HIDE); }
        m_tab1.ShowWindow(SW_SHOW);        m_pDlgCurTab = &m_tab1;
        break;
    case 1:
        if (m_pDlgCurTab){ m_pDlgCurTab->ShowWindow(SW_HIDE); }
        m_tab2.ShowWindow(SW_SHOW);        m_pDlgCurTab = &m_tab2;
        break;
    }



반응형

'Code > Desktop' 카테고리의 다른 글

Java와 C언어(WinAPI) 연결  (0) 2015.04.20
Visual studio 6 file 확장자별 기능  (0) 2014.11.01
Visual Studio 2013 (VC 12) 설치 설정  (0) 2014.09.14
VisualStudio Projet 이름 변경 방법  (0) 2014.08.28
Cheat Engine 컴파일 방법  (0) 2014.06.29
Posted by codens


반응형