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 |