資源描述:
《清華大學c++和vc++課件vc_3_15a》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、2021/6/141面向?qū)ο笈c可視化程序設(shè)計--VisualC++編程主講教師:唐龍教授(計算機科學與技術(shù)系)黃維通博士(計算機與信息管理中心)清華大學2001年11月2021/6/142第十五章工具條類及其應(yīng)用2021/6/143內(nèi)容提要工具條類簡介工具條類控件的應(yīng)用2021/6/144§15.1.工具條類簡介2021/6/1451.工具條工具條是圖形化的菜單,可更快捷、更有效的命令輸入方式。工具條作為程序的一個資源存放在資源腳本中,在程序運行時才調(diào)用。工具條的標識符在resource.h文件中定義,并與系統(tǒng)菜單、系統(tǒng)圖標的ID相同
2、,這樣,可以使工具條資源建立后直接鏈接到主窗口。2021/6/1462.工具條資源模板工具條資源模板在工具條資源文件中定義工具條各個按鈕和整個工具條的位圖,其格式如下:IDTOOLBAR[工具條屬性]像素寬,像素高BEGINBUTTONID1…...BUTTONIDnENDIDTOOLBAR[工具條屬性]bmp文件名2021/6/1472.工具條資源模板(續(xù))例如,在名為mytoolbar.rc工具條資源文件中定義的文件操作工具條資源模板如下:IDR_TOOLBARTOOLBARDISCARDABLE16,15BEGINBUTTONI
3、D_FILE_NEW//新建BUTTONID_FILE_OPEN//打開BUTTONID_FILE_SAVE_AS//另存SEPERATOR//分隔塊BUTTONID_SHOW//顯示ENDIDR_TOOLBARTOOLBARDISCARDABLE“restoolbar.bmp”2021/6/1483.CToolBar類工具條類CToolBar由控制條類CControlBar派生的,而控制條類CControlBar由CWnd類直接派生的。CToolBar類有幾個兄弟類,都是用來接收某些命令輸入并向用戶顯示狀態(tài)消息的類,包括:CSta
4、tusBar(狀態(tài)條)COleResizeBar(OLE控制條)CDialogBar(對話條)在AfxWin.h中定義了CToolBar類。2021/6/1494.CToolBar類的方法CToolBar類的方法,包括:構(gòu)造方法;工具條按鈕操作方法;虛擬方法。2021/6/1410(1)Create()函數(shù)創(chuàng)建并初始化工具條對象BOOLCreate(CWnd*pParentWnd,//指向父窗口的指針DWORDdwStyle=WS_CHILD
5、WS_VISIBLE
6、CBRS_TOP,//風格UINTnID=AFX_IDW_TOOLBA
7、R//工具條的ID);例如:CToolBarm_ToolBar=newCToolBar();m_ToolBar.Create(this,WS_VISIBLE
8、CBRS_TOP,0x9100);風格為“初始可見”,且置于窗口“頂部”工具條窗口的ID2021/6/1411(2)LoadToolBar()函數(shù)加載字符串形式定義的資源BOOLLoadToolBar(LPCTSTRlpszResourceName);加載整型形式定義的資源BOOLLoadToolBar(UINTnIDResource);(3)LoadBitmap()函數(shù)加載字符
9、串形式定義的位圖資源BOOLLoadToolBar(LPCTSTRlpszResourceName);加載整型形式定義的位圖資源BOOLLoadToolBar(UINTnIDResource);2021/6/1412(4)SetBarStyle()函數(shù)重設(shè)置工具條風格,例如m_wndToolBar.SetBarStyle(CBRS_TOOLTIPS
10、CBRS_FLYBY
11、CBRS_SIZE_DYNAMIC);工具條窗口的風格WS_VISIBLE使工具條窗口初始可見CBRS_BOTTOM初始時將工具條放到窗口底部CBRS_FLYBY鼠標
12、光標在按鈕上暫停時,顯示命令描述CBRS_NOALIGN防止控制條在其父窗口改變大小時被復(fù)位CBRS_TOOLTIPS鼠標光標在按鈕上暫停時,顯示工具提示CBRS_TOP初始時將工具條放在窗口頂部CBRS_SIZE_DYNAMIC工具條的大小可變光標在按鈕上暫停時,顯示工具提示光標在按鈕上暫停時,顯示命令描述工具條的大小可變2021/6/1413(5)工具條的移動缺省狀況下,CToolBar工具條只能被應(yīng)用程序所移動。用戶移動工具條,需向工具條及框架窗口發(fā)送消息。這可通過調(diào)用如下函數(shù)實現(xiàn):CToolBar::EnableDocking
13、或CFrameWnd::EnableDocking。這二函數(shù)原型均為:voidEnableDocking(DWORDdwStyle);對于CFrameWnd不可用??匡L格2021/6/1414(6)工具條的顯隱控制調(diào)用C