MFC TabCtrl用法
-
BOOL CTabUIDlg::OnInitDialog()
{
?? ?CDialogEx::OnInitDialog();?? ?// 設置此對話框的圖標。 ?當應用程序主窗口不是對話框時,框架將自動
?? ?// ?執行此操作
?? ?SetIcon(m_hIcon, TRUE);?? ??? ??? ?// 設置大圖標
?? ?SetIcon(m_hIcon, FALSE);?? ??? ?// 設置小圖標?? ?// TODO: 在此添加額外的初始化代碼
?? ?
?? ?//設置標簽頭信息
?? ?m_tabCtrl.InsertItem(0, _T("加載圖片"));
?? ?m_tabCtrl.InsertItem(1, _T("直方圖統計"));
?? ?m_tabCtrl.InsertItem(2, _T("圖像編碼"));?? ?//在view類中,Create 是虛函數由框架調用,是用來“生成一個窗口的子窗口”。
?? ?m_dg1.Create(IDD_DIALOG1, &m_tabCtrl);
?? ?m_dg2.Create(IDD_DIALOG2, &m_tabCtrl);
?? ?m_dg3.Create(IDD_DIALOG3, &m_tabCtrl);? ?//正確放置對話框
?? ?CRect si;
?? ?m_tabCtrl.GetClientRect(&si);
?? ?CRect it;
?? ?m_tabCtrl.GetItemRect(0, it);
?? ?si.top += it.top+20;
?? ?si.left += 5;
?? ?si.bottom -=5;
?? ?si.right -=5;
?? ?m_dg1.MoveWindow(&si);
?? ?m_dg2.MoveWindow(&si);
?? ?m_dg3.MoveWindow(&si);?? ?//設置第一個顯示,即選中的標簽,對話框
?? ?m_dg1.ShowWindow(SW_SHOW);
?? ?m_tabCtrl.SetCurFocus(0);
?? ?return TRUE; ?// 除非將焦點設置到控件,否則返回 TRUE
} -
void CTabUIDlg::OnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult)
{
?? ?// TODO: 在此添加控件通知處理程序代碼
?? ?switch (m_tabCtrl.GetCurSel())
?? ?{
?? ?case 0:?
?? ??? ?m_dg1.ShowWindow(SW_SHOW);
?? ??? ?m_dg2.ShowWindow(SW_HIDE);
?? ??? ?m_dg3.ShowWindow(SW_HIDE);
?? ??? ?m_dg1.SetFocus();
?? ??? ?break;
?? ?case 1:
?? ??? ?m_dg2.ShowWindow(SW_SHOW);
?? ??? ?m_dg1.ShowWindow(SW_HIDE);
?? ??? ?m_dg3.ShowWindow(SW_HIDE);
?? ??? ?m_dg2.SetFocus();
?? ??? ?break;
?? ?case 2:
?? ??? ?m_dg3.ShowWindow(SW_SHOW);
?? ??? ?m_dg1.ShowWindow(SW_HIDE);
?? ??? ?m_dg2.ShowWindow(SW_HIDE);
?? ??? ?m_dg3.SetFocus();
?? ??? ?break;
?? ?default:
?? ??? ?break;
?? ?}
?? ?*pResult = 0;
}
總結
以上是生活随笔為你收集整理的MFC TabCtrl用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS7 /etc/profile
- 下一篇: 牛客20701 神秘钥匙