>>BCGControlBar v19下载
比如你想要创建一个“查找”框,让它出现在工具栏中,并包含最近使用的搜索字符串,使得用户可以在复合的编辑框中定义搜索字符串,然后可以点击回车键去通过文件搜索,或是点击退出键返回到主框架,文件主要是用CEditView-derived视图进行显示。
下面是BCGControlBar进行设置的步骤,主要涉及到创建复合框按钮和命令的管理:
1、打开应用程序资源,添加一个新有着ID_EDIT_FIND命令ID的按钮到设计好的工具栏,同时用一样的ID名字创建一个新的菜单项目。添加一个新的有着ID_EDIT_FIND_COMBO命令ID的字符串“Find the text\nFind”到字符串表格,这个ID将会被作为查找复合框按钮的命令ID。
值得注意的是,这个ID_EDIT_FIND是CEditView处理的标准命令,所以你不需要对于这个命令实现一个特殊的处理程序,但是需要对ID_EDIT_FIND_COMBO命令实现一个处理程序。
2、CComboBox类中派生出一个类,命名为CFindComboBox。
3、在CFindComboBox类中覆盖PreTranslateMessage的虚拟成员函数,这样你就可以首先传递WM_KEYDOWN message,并采取以适当的行动。当用户点击退出键的时候,它必须返回到主架构窗口中。用户点击回车键的时候,它就必须把有着ID_EDIT_FIND_COMBO命令的ID的WM_COMMAND信息传递到主要架构窗口中。
4、CBCGPToolbarComboBoxButton类中派生出一个类,命名为CFindComboButton。
5、CBCGPToolbarComboBoxButton构造函数需要三个参数:按钮的命令ID和按钮的图像索引以及复合框风格。你可以通过将ID_EDIT_FIND_COMBO作为命令ID进行传递,也可以使用有着ID_EDIT_FIND的CImageHash::GetImageOfCommand来找到图像索引。
6、覆盖CBCGPToolbarComboBoxButton::CreateCombo成员函数,并创建CFindComboBox对象来返回使用它。
7、使用IMPLEMENT_SERIAL宏使得按钮更加的持久,Workspace管理器会自动加载和保存按钮的状态从或是到Windows注册表。
8、在你的视图中ID_EDIT_FIND_COMBO的处理器,使用有ID_EDIT_FIND_COMBO ID的CBCGPToolBar::GetCommandButtons来检索所有的查找命令按钮,由于是自定义的,它可以是有着一样ID的几个复制的复合框按钮。
9、使用CBCGPToolBar::IsLastCommandFromButton命令来决定是否查找命令从复合框按钮中发出,如果是,找到文本并添加搜索字符串到符合框。
下面是BCGControlBar将查找复合框按钮添加到工具栏的具体步骤:
1、在主框架窗口中实现BCGM_RESETTOOLBAR信息处理程序。值得注意的是,从框架中发出的到主要框架窗口中的信息已经被初始化了(在应用程序启动时),或是在自定义中被重置看。在这两种情况下,你需要替换有自定义查找复合框按钮的标准工具栏。
2、OnToolbarReset处理程序中分析工具栏的ID(WPARAM of the BCGM_RESETTOOLBAR的信息)。调用有着ID_EDIT_FIND的CBCGPToolBar::ReplaceButton就可以进入IDR_MAINFRAME工具栏,引用一个CFindComboButton对象。值得注意的是,你可以构建一个CFindComboButton对象,因为ReplaceButton复制了按钮对象和维护的副本。
3、如果启动定制,可以实现“自定义”的处理器( OnViewCustomize),并创建CBCGPToolbarCustomize对话框,你必须要调用CBCGPToolbarCustomize :: ReplaceButton ID_EDIT_FIND和参考CFindComboButton对象。
值得注意的是,自定义对话框中包含有着命令列框的命令页面。用户可以在工具栏中拖拽命令,在默认的情况下,自定义对话框处理应用程序菜单,对每个类构建标准的工具栏按钮列表。如果在需要的时候,你没有更换由 CBCGPToolbarButton 派生的标准工具栏按钮,你将会失去扩展功能派生出的对象。
bcgcontrolbar是一个第三方控件(dell文件)吧,这个很简单。你点击右边的工具箱,右键“添加选项卡”,输入一个名称,比如:“第三方控件”,然后在第三方控件选项卡下面,右键“选择项”,如果是第一次添加第三方控件,那么时间可能长一点点,不久它便会d出一个框,然后你选择“浏览”按钮,在本地磁盘找到你的这个bcgcontrolbar第三方控件,然后勾中这个bcgcontrolbar组件,按确定按钮即可。
使用的时候,就可以在“第三方控件”下面找到该控件,直接拖入界面即可使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)