对话框中拖入一个picture control
定义对话框类成员变量CBCGPTabWnd m_wndTab;
- 创建方式一(替换):
m_wndTab.CreateOnPlaceHolder(this, IDC_TAB, 1);
m_wndTab.SetDialogControl();
参考BCG安装目录的例子:C:\Program Files (x86)\BCGSoft\BCGControlBarPro\Samples\TabControl - 创建方式二(create):
CRect rect;
GetDlgItem(IDC_STATIC_TAB_ADDDRAWING_PREVIEW)->GetWindowRect (&rect);
ScreenToClient (&rect);
m_wndTab.Create (CBCGPTabWnd::STYLE_3D, rect, this, 1, CBCGPTabWnd::LOCATION_TOP);
//m_开头的变量是对话框类的成员变量,CMyDlg1、CMyDlg1为自定义的两个对话框类;m_wndEdit为CBCGPEdit变量。
m_pDlg1 = new CMyDlg1();
m_pDlg2 = new CMyDlg2();
// tab页是对话框定义的界面
m_wndTab.AddTab(m_wndTab.GetItemCount(), _T("第一页"), CMyDlg1::IDD, m_pDlg1);
m_wndTab.AddTab(m_wndTab.GetItemCount(), _T("第二页"), CMyDlg2::IDD, m_pDlg2);
//tab页是一个多行文本
m_wndEdit.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTab, 1);
m_wndEdit.SetFont (&globalData.fontRegular);
m_wndEdit.SetWindowText (_T("Edit 1"));
m_wndEdit.m_bVisualManagerStyle = TRUE;
m_wndTab.AddTab (&m_wndEdit, _T("One"),FALSE);
m_wndTab.SetActiveTab(0);
// 刷新
m_wndTab.RecalcLayout ();
m_wndTab.RedrawWindow ();
事件:
参考BCG安装目录的例子:C:\Program Files (x86)\BCGSoft\BCGControlBarPro\Samples\TabControl
消息映射:
ON_REGISTERED_MESSAGE(BCGM_ON_MOVE_TAB, OnMoveTab)
ON_REGISTERED_MESSAGE(BCGM_CHANGE_ACTIVE_TAB, OnChangeActiveTab)
// 切换Tab页
ON_REGISTERED_MESSAGE(BCGM_CHANGING_ACTIVE_TAB, OnChangingActiveTab)
ON_REGISTERED_MESSAGE(BCGM_ON_RENAME_TAB, OnRenameTab)
ON_REGISTERED_MESSAGE(BCGM_CHANGE_TAB_SELECTION, OnChangeTabSelection)
消息函数:
afx_msg LRESULT OnMoveTab(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnChangeActiveTab(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnChangingActiveTab(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnRenameTab(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnChangeTabSelection(WPARAM wp, LPARAM lp);