資源描述:
《mfc通用控件使用詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、WORD格式可編輯PWIN98/95下演練VC5中的COMMON一族遼寧省鐵嶺市委辦公室(112000)宋立波中文PWIN98/95之所以深受廣大計(jì)算機(jī)用戶的青睞,除其在32位多任務(wù)、多線程和系統(tǒng)穩(wěn)固性等核心技術(shù)的重要改進(jìn)之外,更主要的還是其優(yōu)秀的用戶交互界面。這就給程序設(shè)計(jì)人員提出了新的課題,如何在自己開(kāi)發(fā)的應(yīng)用程序中充分利用WIN98/95支持的各種高級(jí)通用控制和視,這也是學(xué)習(xí)VC編程所必須掌握的基本內(nèi)容,本文將通過(guò)實(shí)例來(lái)具體演練VC5中的這些控件,其中常用的COMMON一族主要成員包括:1.表頭控制HeaderControl2.圖像列表控制ImageLi
2、st3.列表控制和視ListControl&ListView4.樹(shù)控制和視TreeControl&TreeView5.標(biāo)簽控制和視TabControl&TabView6.工具條控制ToolbarControl7.進(jìn)度條控制ProgressControl8.滑動(dòng)條控制SliderControl9.旋轉(zhuǎn)按鈕控制SpinButtonControl10.狀態(tài)條控制StatusBarControl其中,絕大部分通用控制在MFC類庫(kù)中都存在兩種封裝形式,即控制類和視類,控制類主要是供直接使用控制而提供的,而視類則是通過(guò)間接使用控制而提供的,視類可以更好地把控制類集成到MF
3、C結(jié)構(gòu)中,并且使用視類可以利用引用直接對(duì)嵌套在其中的控制進(jìn)行各種操作。兩者在使用方法上沒(méi)有太大區(qū)別,就拿列表控制類和視類來(lái)說(shuō),當(dāng)創(chuàng)建列表視后可通過(guò)CListCtrl&ctrlList=GetListCtrl()成員函數(shù)取得視類引用ctrlList之后,就可以利用列表視的視函數(shù)對(duì)視進(jìn)行各項(xiàng)操作(ctrlList.Add等)。一、PWIN98/95下演練CHeadCtrl表頭控制(CHeaderCtrl)通常應(yīng)用在窗口中的文本或數(shù)據(jù)的列表之上。一般為數(shù)據(jù)列的標(biāo)題,可以包括多個(gè)部分,用戶可以拖動(dòng)每個(gè)部分并可以控制每列的寬度。表頭控制類提供了普通表頭控制的基本方法,只
4、有在WINDOWS95以后版本系統(tǒng)中才提供,其方法包含在afxcmn.h文件中,一般與標(biāo)簽控制(CTabCtrl)和列表控制(CListCtrl)組合使用。(一)表頭控制的對(duì)象結(jié)構(gòu)1、表頭控制對(duì)象的建立方法CHeaderCtrl&cheaderCtrl建立表頭控制對(duì)象Create建立表頭并綁定對(duì)象CHeaderCtrl::Create的格式如下:BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);其返回值非零時(shí)初始化成功,否則失敗。參數(shù)dwStyle用來(lái)確定表頭控制類型;rect用來(lái)確
5、定表頭控制的大小和位置;ParentWnd用來(lái)確定表頭控制的父窗口;nID用來(lái)表示表頭控制的標(biāo)志。專業(yè)技術(shù)資料整理WORD格式可編輯表頭控制風(fēng)格包括:HDS_BUTTONS表示表頭控制外觀類似按鈕;HDS_HORZ表示表頭控制為水平排列;HDS_VERT表示表頭控制為垂直排列;HDS_HIDDEN表示表頭控制為隱藏模式。它也可以使用普通類控制風(fēng)格,包括:CCS_BOTTOM設(shè)置控制位置在父窗口的底部并與父窗口同樣寬度;CCS_NODIVIDER在控制頂部形成兩個(gè)像素的高亮區(qū);CCS_NOHILITE在控制頂部形成一個(gè)像素的高亮區(qū);CCS_NOMOVEY在響應(yīng)W
6、M_SIZE消息時(shí)重置大小并水平排列;CCS_NOPARENTALIGN使控制自動(dòng)靠近父窗口的頂部或底部;CCS_NORESIZE設(shè)置初始大小或新值時(shí)使控制使用默認(rèn)寬度和高度;CCS_TOP設(shè)置在父窗口客戶區(qū)域的頂部并與父窗口同樣寬度;同樣表頭控制也可以使用窗口控制風(fēng)格,包括:WS_CHILD建立一個(gè)子窗口,不能用于WS_POPUP窗口類型;WS_VISIBLE建立一個(gè)初始時(shí)不可見(jiàn)的窗口;WS_DISABLED建立一個(gè)初始時(shí)無(wú)效的窗口;WS_GROUP確定可用光標(biāo)移動(dòng)的控制群組;WS_TABSTOP確定可用TAB控制移動(dòng)站點(diǎn);表頭控制一般分為兩個(gè)步驟,首先確定
7、表頭控制的數(shù)據(jù)結(jié)構(gòu),然后建立表頭控制并綁定對(duì)象。2、表頭控制的屬性表頭控制的屬性包括取得表頭控制中項(xiàng)目的數(shù)量GetItemCount、取得表頭控制中某一項(xiàng)目的內(nèi)容GetItem和設(shè)置表頭控制中某一項(xiàng)目的內(nèi)容SetItem。3、表頭控制的操作方法表頭控制的操作方法包括向表頭控制中插入一個(gè)新項(xiàng)目InsertItem、從表頭控制中刪除一個(gè)項(xiàng)目DeleteItem和繪制表頭中給定的項(xiàng)目DrawItem等。(二)表頭控制的數(shù)據(jù)結(jié)構(gòu)在使用表頭控制時(shí),首先必須建立一個(gè)數(shù)據(jù)結(jié)構(gòu)HD_ITEM,其結(jié)構(gòu)定義如下:typedefstruct_HD_ITEM{UINTmask;//結(jié)
8、構(gòu)成員有效控制位intcxy;//表頭