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' 카테고리의 다른 글

파이썬(Python) 기본 정보  (2) 2015.03.22
Visual studio 6 file 확장자별 기능  (0) 2014.11.01
탭콘트롤 사용법  (0) 2014.09.27
Visual Studio 2013 (VC 12) 설치 설정  (0) 2014.09.14
VisualStudio Projet 이름 변경 방법  (0) 2014.08.28
Cheat Engine 컴파일 방법  (0) 2014.06.29
Posted by 코덴스

댓글을 달아 주세요