导读:
关于在VC中如何使用这个控件,大体思路可以这样:
1)在资源管理器中创建几个Dialog, 分别生成相应的类(基于CDialog),注意,要设置Dialog的Style为"Child", Border为"None";
2)在CDialog::OnInitDialog中,调用CTabCtrl::InsertItem(...)方法添加几个页面
3)调用CDialog的Create方法创建几个对话框变量;
3)在主窗口中,捕获Tab Control的页选择事件,在其中对索引值进行分类,然后就显示你的对话框,注意显示一个的同时,要隐藏其他的对话框。
下面是个测试程序:
主对话框:
// TmpTstDlg.h : header file
//
#if !defined(AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_)
#define AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_
#if _MSC_VER >1000
#pragma once
#endif // _MSC_VER >1000
#include "TreeDlg.h"
#include "TstDlg.h"
#include "OtherDlg.h"
/
// CTmpTstDlg dialog
class CTmpTstDlg : public CDialog
{
// Construction
public:
CTmpTstDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{ {AFX_DATA(CTmpTstDlg)
enum { IDD = IDD_TMPTST_DIALOG };
CTabCtrl m_ctrlTab;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{ {AFX_VIRTUAL(CTmpTstDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
CMenu m_menuMain;
void AdjustCtrl();
// Generated message map functions
//{ {AFX_MSG(CTmpTstDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnAbout();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CTreeDlg m_dlgTree;
CTstDlg m_dlgTst;
COtherDlg m_dlgOther;
};
//{ {AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_)
// TmpTstDlg.cpp : implementation file
//
#include "stdafx.h"
#include "TmpTst.h"
#include "TmpTstDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] =
关于在VC中如何使用这个控件,大体思路可以这样:
1)在资源管理器中创建几个Dialog, 分别生成相应的类(基于CDialog),注意,要设置Dialog的Style为"Child", Border为"None";
2)在CDialog::OnInitDialog中,调用CTabCtrl::InsertItem(...)方法添加几个页面
3)调用CDialog的Create方法创建几个对话框变量;
3)在主窗口中,捕获Tab Control的页选择事件,在其中对索引值进行分类,然后就显示你的对话框,注意显示一个的同时,要隐藏其他的对话框。
下面是个测试程序:
主对话框:
// TmpTstDlg.h : header file
//
#if !defined(AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_)
#define AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_
#if _MSC_VER >1000
#pragma once
#endif // _MSC_VER >1000
#include "TreeDlg.h"
#include "TstDlg.h"
#include "OtherDlg.h"
/
// CTmpTstDlg dialog
class CTmpTstDlg : public CDialog
{
// Construction
public:
CTmpTstDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{ {AFX_DATA(CTmpTstDlg)
enum { IDD = IDD_TMPTST_DIALOG };
CTabCtrl m_ctrlTab;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{ {AFX_VIRTUAL(CTmpTstDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
CMenu m_menuMain;
void AdjustCtrl();
// Generated message map functions
//{ {AFX_MSG(CTmpTstDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnAbout();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CTreeDlg m_dlgTree;
CTstDlg m_dlgTst;
COtherDlg m_dlgOther;
};
//{ {AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TMPTSTDLG_H__881692D3_4A86_42CD_89F6_1FCB692A13F9__INCLUDED_)
// TmpTstDlg.cpp : implementation file
//
#include "stdafx.h"
#include "TmpTst.h"
#include "TmpTstDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] =