免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VS2010/MFC編程入門之三十二(常用控件:標(biāo)簽控件Tab Control 上)

       前面兩節(jié)雞啄米講了樹形控件Tree Control,本節(jié)開始講解標(biāo)簽控件Tab Control,也可以稱為選項(xiàng)卡控件。

       標(biāo)簽控件簡介

       標(biāo)簽控件也比較常見。它可以把多個頁面集成到一個窗口中,每個頁面對應(yīng)一個標(biāo)簽,用戶點(diǎn)擊某個標(biāo)簽時,它對應(yīng)的頁面就會顯示。下圖是Windows系統(tǒng)配置中標(biāo)簽控件的例子:

 

       使用標(biāo)簽控件我們可以同時加載多個有關(guān)聯(lián)的頁面,用戶只需點(diǎn)擊標(biāo)簽即可實(shí)現(xiàn)頁面切換,方便靈活的進(jìn)行操作。每個標(biāo)簽除了可以顯示標(biāo)簽文本,還可以顯示圖標(biāo)。

       標(biāo)簽控件相當(dāng)于是一個頁面的容器,可以容納多個對話框,而且一般也只容納對話框,所以我們不能直接在標(biāo)簽控件上添加其他控件,必須先將其他控件放到對話框中,再將對話框添加到標(biāo)簽控件中。最終我們點(diǎn)擊標(biāo)簽切換頁面時,切換的不是控件的組合,而是對話框。

       標(biāo)簽控件的通知消息

       在對標(biāo)簽控件進(jìn)行一些操作,比如點(diǎn)擊標(biāo)簽時,標(biāo)簽控件也會向父窗口發(fā)送一些通知消息。我們可以為這些通知消息添加處理函數(shù),實(shí)現(xiàn)各種功能。標(biāo)簽控件的主要通知消息及含義如下所示:

       TCN_SELCHANGE:通知父窗口控件的標(biāo)簽選擇項(xiàng)已經(jīng)改變
       TCN_SELCHANGING 通知父窗口控件的標(biāo)簽選擇項(xiàng)正在改變
       TCN_KEYDOWN:通知父窗口在控件范圍內(nèi)鍵盤被按下
       TCN_GETOBJECT:具有TCS_EX_REGISTERDROP擴(kuò)展特性并且對象被拖動時的通知消息
       TCN_FOCUSCHANGE:通知父窗口控件的按鈕聚焦已經(jīng)改變
       NM_CLICK:通知父窗口用戶在控件區(qū)域范圍內(nèi)點(diǎn)擊了鼠標(biāo)左鍵
       NM_RCLICK:通知父窗口用戶在控件區(qū)域范圍內(nèi)點(diǎn)擊了鼠標(biāo)右鍵
       NM_RELEASEDCAPTURE:通知父窗口在控件區(qū)域范圍內(nèi)釋放鼠標(biāo)捕獲消息

       標(biāo)簽控件的相關(guān)結(jié)構(gòu)體

       標(biāo)簽控件在使用中也有一些相關(guān)的結(jié)構(gòu)體經(jīng)常用到,主要以下幾個:

       1. TCITEMHEADER結(jié)構(gòu)體

       該結(jié)構(gòu)體用來指定或獲取標(biāo)簽控件本身的屬性。用在TCM_INSERTITEM、TCM_GETITEM和TCM_SETITEM消息中。

C++代碼
  1. typedef struct tagTCITEMHEADER {      
  2.     UINT mask;   // 掩碼,可以為TCIF_IMAGE(iImage成員有效)、TCIF_RTLREADING、TCIF_TEXT(pszText成員有效)   
  3.     UINT lpReserved1;   // 預(yù)留   
  4.     UINT lpReserved2;   // 預(yù)留   
  5.     LPTSTR pszText;     // 標(biāo)簽文本字符串   
  6.     int cchTextMax;      
  7.     int iImage;         // 圖標(biāo)在標(biāo)簽控件圖像序列中的索引   
  8. } TCITEMHEADER, *LPTCITEMHEADER;   

       2. TCITEM結(jié)構(gòu)體

       該結(jié)構(gòu)體用來指定或獲取標(biāo)簽頁的屬性。用在TCM_INSERTITEM、TCM_GETITEM和TCM_SETITEM消息中。

C++代碼
  1. typedef struct tagTCITEM {     
  2.     UINT mask;  // 掩碼,可以是TCIF_IMAGE(iImage成員有效)、TCIF_PARAM(lParam成員有效)、TCIF_RTLREADING、TCIF_STATE、TCIF_TEXT(pszText成員有效)   
  3. #if (_WIN32_IE >= 0x0300)   
  4.     DWORD dwState;   
  5.     DWORD dwStateMask;   
  6. #else   
  7.     UINT lpReserved1;   
  8.     UINT lpReserved2;   
  9. #endif   
  10.     LPTSTR pszText;   
  11.     int cchTextMax;   
  12.     int iImage;   
  13.     LPARAM lParam;     // 與標(biāo)簽頁關(guān)聯(lián)的32位數(shù)據(jù)   
  14. } TCITEM, *LPTCITEM;  

       3. TCHITTESTINFO結(jié)構(gòu)體

       該結(jié)構(gòu)體包含了鼠標(biāo)單擊測試的信息。

C++代碼
  1. typedef struct tagTCHITTESTINFO {   
  2.     POINT pt;  // 鼠標(biāo)點(diǎn)擊測試的客戶區(qū)坐標(biāo)   
  3.     UINT flags; // 接收點(diǎn)擊測試的結(jié)果。有以下幾種:TCHT_NOWHERE(坐標(biāo)點(diǎn)不在標(biāo)簽上)、TCHT_ONITEM(坐標(biāo)點(diǎn)在標(biāo)簽上但不在標(biāo)簽文本或圖標(biāo)上)、TCHT_ONITEMICON(坐標(biāo)點(diǎn)在標(biāo)簽圖標(biāo)上)、TCHT_ONITEMLABEL(坐標(biāo)點(diǎn)在標(biāo)簽文本上)   
  4. } TCHITTESTINFO, *LPTCHITTESTINFO;  

       4. NMTCKEYDOWN結(jié)構(gòu)體

       該結(jié)構(gòu)體包含了標(biāo)簽控件中鍵盤按下的相關(guān)信息。主要用在TCN_KEYDOWN通知消息中。

C++代碼
  1. typedef struct tagNMTCKEYDOWN {   
  2.     NMHDR hdr;   
  3.     WORD wVKey;   
  4.     UINT flags;   
  5. } NMTCKEYDOWN;  

       標(biāo)簽控件的上半部分就講到這里了,下節(jié)教程雞啄米將繼續(xù)講解標(biāo)簽控件的知識和應(yīng)用實(shí)例。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MFC消息類型——理論(轉(zhuǎn)載)
關(guān)于NMHDR[轉(zhuǎn)載]
5.5 ListControl控件、樹控件和標(biāo)簽控件 - 《Visual C++開發(fā)經(jīng)驗(yàn)技...
VC知識庫文章 - MFC程序員的WTL指南: Part IV - 對話框與控件
MFC消息
MFC消息機(jī)制
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服