日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC TabCtrl用法

發布時間:2024/7/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC TabCtrl用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 基于對話框的MFC程序, 在主對話框中添加TabCtrl控件,CTabCtrl 類型的變量m_tabctrl;
  • ?插入3對話框,并設置屬性style=Child,Border=None,創建三個對話框類CDialog1,CDialog2,CDialog3;
  • 在主對話框中創建三個對話框類的全局對象 m_dg1,m_dg2,m_dg3;
  • 在主對話框的初始化函數OnInitDialog中初始化;
  • 在主對話框中添加TabCtrl控件的TCH_SELCHANGE消息;
    • 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用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。