MFC對(duì)話框和控件(二)教程.ppt_第1頁
MFC對(duì)話框和控件(二)教程.ppt_第2頁
MFC對(duì)話框和控件(二)教程.ppt_第3頁
MFC對(duì)話框和控件(二)教程.ppt_第4頁
MFC對(duì)話框和控件(二)教程.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余24頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、回顧對(duì)話框和控件(2)、文越、模式對(duì)話框和非模式對(duì)話框,內(nèi)容:列表控件、表控件、樹控件、日期控件、計(jì)時(shí)器、標(biāo)簽控件、IP地址控件、達(dá)模式對(duì)話框:新對(duì)話框資源創(chuàng)建該類的對(duì)象注意:該對(duì)象可以是局部變量,該對(duì)象調(diào)用函數(shù)DoModal ()。 非模式對(duì)話框:創(chuàng)建新的對(duì)話框資源,在新的對(duì)話框中創(chuàng)建新的類,為該類創(chuàng)建對(duì)象注意:該對(duì)象由new操作符動(dòng)態(tài)創(chuàng)建,delete操作符刪除該對(duì)話框?qū)ο蟠藢?duì)象包括函數(shù)Create ()和ShowWindow ()、對(duì)話框開銷(SetWindowPos ) :基于對(duì)話框應(yīng)用程序:設(shè)置開銷: SetWindowPos (、 以單一文件應(yīng)用程式為基礎(chǔ):設(shè)定開銷頂端: setw

2、indowpos (處理、HWND_NOTOPMOST、0、0、0、SWP_NOMOVE|SWP_NOSIZE )、對(duì)話方塊的以WM_開頭的消息(WM_COMMAND除外)是標(biāo)準(zhǔn)消息。 例如,WM_CREATE、WM_CLOSE和指令消息。 消息名稱為WM_COMMAND,其標(biāo)識(shí)符ID用于區(qū)分消息來自哪個(gè)菜單、工具欄按鈕或加速鍵。 我會(huì)通知消息。 通知消息通常從子窗口(如列表框)發(fā)送到父窗口,并且消息名稱也是WM_COMMAND,并且附帶控件通知代碼以區(qū)分控件。 1、CWnd的派生類都可以接收標(biāo)準(zhǔn)Windows消息、通知消息和命令消息。 控件基本使用:拖動(dòng)/創(chuàng)建控件、在控件中創(chuàng)建變量: Con

3、trol類型變量:可以獲取控件的實(shí)例: m_TreeCtrol.InsertItem (.); Value類型:變量是此控件的公共類型變量,例如CString m_Str=hustwjz; 更新數(shù)據(jù)(假); /將數(shù)據(jù)傳遞給控件的更新數(shù)據(jù)(true ); /從控件中獲取數(shù)據(jù),向控件中添加事件處理響應(yīng)/通知消息,表控件:CListCtrl類封裝“列表視圖控件”功能,并收集每個(gè)包含圖標(biāo)(在列表視圖中)和標(biāo)簽每個(gè)項(xiàng)目都有圖標(biāo)和標(biāo)簽,以及圖標(biāo)和標(biāo)簽右側(cè)列中顯示的信息。 表格控件(列表控件) :列表視圖控件:分類: Icon、小型Icon、列表、報(bào)告。 表控件:屬性:視圖列表視圖的視覺樣式:圖標(biāo)、小圖標(biāo)、

4、列表和報(bào)告對(duì)齊列表中的文本對(duì)齊方式:上對(duì)齊如果按列表第一列的字母順序?qū)吙蜻M(jìn)行排序并選擇,則如果列表包含邊框單選擇,則只能選擇一條記錄。 否則,如果選擇了多行選擇Auto arrange,則網(wǎng)格上的項(xiàng)目No Label wrap會(huì)自動(dòng)對(duì)齊選擇文本非折疊Edit lables、選擇可編輯標(biāo)簽No scroll、列表無法滾動(dòng)No scroll 在選擇列表標(biāo)頭不存在的No sort header時(shí),未排序的標(biāo)頭Show selection always始終顯示選項(xiàng),并使用表控件:Create函數(shù)進(jìn)行l(wèi)istctrl : v 不要忘記: ws,表控件(List Contorl ) :列表視圖控件的通知

5、消息:表控件(List Contorl ) :列表視圖控件的相關(guān)結(jié)構(gòu):1. NMHDR結(jié)構(gòu): typededecontrol /控件id uint代碼; /控件的通知消息代碼NMHDR; 2. NMLISTVIEW結(jié)構(gòu):此結(jié)構(gòu)包含有關(guān)列表視圖控件通知消息的信息。 列表視圖控件中的大多數(shù)通知消息都包含指向該結(jié)構(gòu)的指針。typedefstructtagnmlistviewnmhdrhdr; /標(biāo)準(zhǔn)的NMHDR結(jié)構(gòu)int iItem; /列表項(xiàng)目的索引int iSubItem; /列表子的索引UINT uNewState; /列表項(xiàng)目或列表子項(xiàng)的新狀態(tài)UINT uOldState; /列表項(xiàng)或列表子

6、項(xiàng)的原始狀態(tài)UINT uChanged; /表示哪個(gè)狀態(tài)發(fā)生了變化的POINT ptAction; /事件發(fā)生時(shí)鼠標(biāo)的客戶端區(qū)域坐標(biāo)LPARAM lParam; /32位的追加數(shù)據(jù)NMLISTVIEW,*LPNMLISTVIEW;表格控件:CListCtrl類的主成員函數(shù):樹控件:主要顯示具有分層結(jié)構(gòu)的數(shù)據(jù)項(xiàng),如資源管理器磁盤目錄,并允許用戶進(jìn)行各種選擇樹控件中的每個(gè)delete 在每個(gè)數(shù)據(jù)項(xiàng)下,可以找到各種類型的、樹控件(如目錄樹) :樹控件創(chuàng)建: BOOL Create(DWORD dwStyle,/列表視圖控件樣式const RECT 當(dāng)使用樹控制(Tree Contorl) CTree

7、Ctrl類的成員函數(shù)訪問和操縱樹時(shí),通常使用HTREEITEM控制柄。 2. TVITEM結(jié)構(gòu): TVITEM結(jié)構(gòu)描述樹控制節(jié)點(diǎn)的屬性。 i圖像。 /樹節(jié)點(diǎn)的映像索引(TVIF_IMAGE) int iSelectedImage; /所選內(nèi)容的圖像索引(tvif _ selected image ) intc children; /表示節(jié)點(diǎn)是否有子節(jié)點(diǎn),有1,無. TVITEM,*LPTVITEM; 3. NMTREEVIEW結(jié)構(gòu):包含有關(guān)樹控制通知消息的信息。 typedefstructtagnmtreeviewnmhdrhdr; /標(biāo)準(zhǔn)N

8、MHDR結(jié)構(gòu)單元操作; /此通知消息顯示啟動(dòng)TVITEM itemOld的用戶的行為。 /源節(jié)點(diǎn)的屬性TVITEM itemNew; /新節(jié)點(diǎn)的屬性POINT ptDrag; /事件發(fā)生時(shí)鼠標(biāo)的客戶端區(qū)域坐標(biāo)NMTREEVIEW,*LPNMTREEVIEW; 樹控件:樹控件:CTreectrl類的主成員函數(shù):樹控件:樹控件的創(chuàng)建和使用:拖動(dòng)/創(chuàng)建樹控件以及添加要為其創(chuàng)建圖像控件的對(duì)象的選項(xiàng)卡控件(tab cc 用戶只需點(diǎn)擊標(biāo)簽即可在頁面之間切換,操作靈活。 每個(gè)標(biāo)簽不僅可以顯示標(biāo)簽文本,還可以顯示圖標(biāo)。 標(biāo)簽控件相當(dāng)于一個(gè)頁面的容器,可以容納多個(gè)對(duì)話框,通常只能容納對(duì)話框,因此不能將其他控件直

9、接添加到標(biāo)簽控件中。 在將對(duì)話框添加到標(biāo)簽控件之前,最終通過單擊標(biāo)簽在頁面之間切換可以切換對(duì)話框,而不是控件的組合。制表符控件(Tab Contorl ) :制表符控件的通知消息:制表符控件(Tab Contorl ) :CTabCtrl類的主成員函數(shù):計(jì)時(shí)器的基本操作:1、啟動(dòng)計(jì)時(shí)器: WM_TIMER消息中的消息3 .銷毀計(jì)時(shí)器:如果不再使用計(jì)時(shí)器,可以銷毀。 銷毀計(jì)時(shí)器需要KillTimer成員函數(shù)。API函數(shù)的設(shè)置時(shí)間原型: uint _ ptr設(shè)置時(shí)間(hwnd hwnd,/窗口句柄UINT_PTR nIDEvent,/計(jì)時(shí)器ID UINT uElapse ), /,CWnd類的成員

10、函數(shù)SetTimer原型: uint _ ptr settimer (uint _ ptrnidevent,/計(jì)時(shí)器的UINT nElapse,/時(shí)間間隔,單位為毫秒void (),SetTimer(m_hWnd ) /settimer(1,1000,空值); /1:計(jì)時(shí)器的名稱1000 :時(shí)間間隔,單位為毫秒NULL:使用OnTime函數(shù)。 計(jì)時(shí)器的基本操作:3、不需要計(jì)時(shí)器時(shí)調(diào)用KillTimer(nIDEvent )的示例: KillTimer(1); /此處的ID號(hào)“1”必須與SetTimer ()的ID號(hào)匹配,或者2、在WM_TIMER消息中添加消息處理函數(shù),或者定義回調(diào)函數(shù)。 voidcexample 44 DLG 33603360 ontimer (uint _ ptrnidevent )/todo 3360 addyourmessagehandlercodehereand/orcalldeffent,日期控制(date ) 通常用于允許用戶從日期列表中選擇單個(gè)值。 如果在運(yùn)行時(shí)單擊控制邊的下拉箭頭,則會(huì)出現(xiàn)兩個(gè)部分,用于選擇下拉列表和日期。 CIPAddressCtrl類提供了Windows中常見IP地址協(xié)議的功

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論