原創(chuàng)|使用教程|編輯:龔雪|2020-11-09 10:14:05.117|閱讀 268 次
概述:BCGControlBar庫(kù)擁有500多個(gè)經(jīng)過(guò)全面設(shè)計(jì)、測(cè)試和充分記錄的MFC擴(kuò)展類。 本文將為大家介紹BCGControlBar如何在工具欄上放置控件,歡迎下載產(chǎn)品體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
BCGControlBar ("Business Components Gallery ControlBar")是MFC擴(kuò)展庫(kù),使您可以創(chuàng)建具有完全自定義選項(xiàng)(功能區(qū)、可自定義工具欄、菜單等)以及一組專業(yè)設(shè)計(jì)的豐富Microsoft Office和Microsoft Visual Studio的應(yīng)用程序 GUI控件,例如圖表、日歷、網(wǎng)格、編輯器、甘特圖和許多其他控件。
BCGControlBar庫(kù)擁有500多個(gè)經(jīng)過(guò)全面設(shè)計(jì)、測(cè)試和充分記錄的MFC擴(kuò)展類。 我們的組件可以輕松地集成到您的應(yīng)用程序中,并為您節(jié)省數(shù)百個(gè)開(kāi)發(fā)和調(diào)試時(shí)間。
本文將為大家介紹如何在工具欄上放置各種控件,如組合框或編輯框。
例如,您要?jiǎng)?chuàng)建一個(gè)"Find" 組合框,該組合框出現(xiàn)在工具欄上并包含最近使用的搜索字符串。用戶將能夠在組合框編輯控件中輸入字符串,然后按Enter鍵來(lái)搜索文檔,或者按Escape鍵將焦點(diǎn)返回到主框架,該文檔顯示在CEditView - derived視圖中。
以下步驟是"setup" 工作,處理組合框按鈕的創(chuàng)建及其命令的處理:
1. 打開(kāi)應(yīng)用程序資源,將帶有ID_EDIT_FIND命令I(lǐng)D的新按鈕添加到所需的(IDR_MAINFRAME)工具欄,并創(chuàng)建具有相同ID的新菜單項(xiàng)。 使用ID_EDIT_FIND_COMBO命令I(lǐng)D將新字符串“ Find the text \ nFind”添加到字符串表中,該ID將用作find組合框按鈕的命令I(lǐng)D。 注意ID_EDIT_FIND是CEditView處理的標(biāo)準(zhǔn)命令,因此您不需要為此命令實(shí)現(xiàn)特殊的處理程序,但是需要為ID_EDIT_FIND_COMBO命令實(shí)現(xiàn)處理程序。
2. 從類派生一個(gè)類,我們將其命名為CFindComboBox。
3. 在CFindComboBox類中,重寫(xiě)PreTranslateMessage虛擬成員函數(shù),這將使您可以首先處理WM_KEYDOWN消息并采取適當(dāng)?shù)拇胧?當(dāng)用戶按下退出鍵(VK_ESCAPE)時(shí),將焦點(diǎn)返回到主框架窗口。 當(dāng)用戶按下Enter鍵(VK_ENTER)時(shí),將帶有ID_EDIT_FIND_COMBO命令I(lǐng)D的WM_COMMAND消息發(fā)布到主框架窗口(該命令將被路由到視圖)。
4. 從類派生一個(gè)類,我們將其命名為CFindComboButton。
5. 的構(gòu)造函數(shù)采用三個(gè)參數(shù):按鈕命令I(lǐng)D、按鈕圖像的所有和組合框樣式,您應(yīng)該將ID_EDIT_FIND_COMBO作為命令I(lǐng)D傳遞,并且可以將CImageHash :: GetImageOfCommand與ID_EDIT_FIND一起使用來(lái)獲取圖像索引。
6. 重寫(xiě)CBCGPToolbarComboBoxButton :: CreateCombo成員函數(shù),在這里您應(yīng)該創(chuàng)建CFindComboBox對(duì)象并返回指向它的指針。
7. 使用IMPLEMENT_SERIAL宏使組合按鈕持久,工作區(qū)管理器會(huì)自動(dòng)在Windows注冊(cè)表中加載和保存按鈕的狀態(tài)。
8. 在您的視圖中實(shí)現(xiàn)ID_EDIT_FIND_COMBO處理程序,使用帶有ID_EDIT_FIND_COMBO ID的 可以檢索所有"Find"組合框按鈕,由于自定義,它可以是具有相同命令I(lǐng)D的組合框按鈕的多個(gè)副本。
9. 使用來(lái)確定是否從我們的組合框按鈕發(fā)送了 "Find"命令,如何是這樣請(qǐng)查找文本并將搜索字符串添加到組合框中。
您應(yīng)該執(zhí)行以下步驟,將find組合框按鈕放到工具欄上:
1. 在主框架窗口中實(shí)現(xiàn)消息處理程序(OnToolbarReset),注意當(dāng)工具欄已初始化(在應(yīng)用程序啟動(dòng)時(shí)),或者在自定義期間重置了工具欄時(shí),該消息就會(huì)由框架發(fā)送到主框架窗口。 無(wú)論哪種情況,都需要用 "custom" find 組合框按鈕替換標(biāo)準(zhǔn)的工具欄按鈕(請(qǐng)參閱步驟2)。
2. 在OnToolbarReset處理程序中,分析工具欄的ID(它是 消息的WPARAM)。 遇到IDR_MAINFRAME工具欄時(shí),只需使用ID_EDIT_FIND和對(duì)CFindComboButton對(duì)象的引用調(diào)用。 注意您可以在堆棧上構(gòu)造CFindComboButton對(duì)象,因?yàn)镽eplaceButton復(fù)制按鈕對(duì)象并維護(hù)副本。
3. 如果啟用自定義,則實(shí)現(xiàn) "customize"處理程序(OnViewCustomize)并創(chuàng)建對(duì)話框,您必須使用ID_EDIT_FIND和對(duì)CFindComboButton對(duì)象的引用來(lái)調(diào)用 。 注意自定義對(duì)話框包含帶有"Commands"列表框的"Commands"頁(yè)面,用戶可以將命令拖放在工具欄上。默認(rèn)情況下,自定義對(duì)話框處理應(yīng)用程序菜單并為每個(gè)類別構(gòu)建標(biāo)準(zhǔn)工具欄按鈕的列表。 如果在需要時(shí)不使用 - derived按鈕替換標(biāo)準(zhǔn)工具欄按鈕,則將失去派生對(duì)象提供的擴(kuò)展功能。
如果您對(duì)BCGSoft的產(chǎn)品感興趣,也可直接咨詢“”!
現(xiàn)購(gòu)買BCGSoft正版授權(quán)最高直降萬(wàn)元,歡迎點(diǎn)擊了解產(chǎn)品正版授權(quán)>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)