- 0
- 0
- 约3.74千字
- 约 12页
- 2018-03-07 发布于河南
- 举报
Windows编程技术07
Windows编程技术 工具栏与状态栏 创建步骤 1)创建工具条资源。 2)构造CToolBar对象。 3)调用Create(或CreateEx)函数来创建Windows工具条并将它与前面构造的CToolBar对象相连接。 4)调用LoadToolBar来装入工具条资源。 编辑工具栏 打开工具栏资源 修改工具栏按钮图形 添加、删除工具栏按钮 修改工具栏按钮大小 添加工具栏按钮提示信息 处理工具栏命令 使用菜单项工具栏按钮 一个工具栏按钮命令有一个相应的菜单项与之对应 工具栏按钮ID与相应的菜单项ID一致 工具栏按钮ID与相应的菜单项可以共同使用一个消息映射 使用非菜单项工具栏按钮 工具栏按钮不与菜单命令相对应 添加工具栏按钮 设置按钮“属性”窗口中的ID项 添加处理代码 类中添加消息映射函数声名 class CMainFrame : public CFrameWnd { … protected: afx_msg void OnEx(); //手工添加消息响应成员函数 … }; 添加消息映射 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() ON_COMMAND(ID_EX,OnEx) //手工添加消息映射 END_MESSAGE_MAP() 添加消息映射函数 void CMainFrame::OnEx() { ::AfxMessageBox(自定义命令按钮消息); } 工具栏按钮状态 UPDATE_COMMAND_UI消息 该消息不但可以改变菜单状态,还可以修改工具栏按钮的状态 CCmdUI::SetCheck 可以使按钮在选中(按钮图标下凹)和未选中两种状态间进行切换 CCmdUI:: SetRadio 可以使按钮在选中(按钮图标下凹)和未选中两种状态间进行切换,对于工具栏按钮,效果与CCmdUI ::SetCheck 相同 CCmdUI::Enable 可以使工具栏按钮在有效和无效两种状态间进行切换 自定义工具栏 创建工具栏资源 打开“资源视图”并展开子项内容,在Toolbar项上点鼠标右键并在显示的弹出式菜单中选择“插入Toolbar”,在Toolbar项下将增加一个新工具栏,用户可以按照自己的需要对该工具栏进行编辑修改。 建立工具栏对象 class CMainFrame : public CFrameWnd { … protected: // 控件条嵌入成员 CToolBar m_wndToolBar2; //添加 }; 创建工具栏窗口 CToolBar:: Create()或CToolBar:: CreateEx()可以用来创建Windows工具栏,下面代码创建一个MFC标准风格的工具栏。 m_wndToolBar2.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); 加载工具栏资源 使用CToolBar:: LoadToolBar( UINT nIDResource ) 可装入由nIDResource指定的工具栏资源,实现代码如下: m_wndToolBar2.LoadToolBar(IDR_TOOLBAR1); 工具栏的停靠与浮动 使用CToolBar的父类提供的CControlBar:: EnableDocking (DWORD dwStyle)可以设定是否允许控件条处于停靠状态和它在父窗口中停靠的位置 。下面的程序代码使工具栏可以在框架窗口内任意位置停靠 : m_wndToolBar2.EnableDocking(CBRS_ALIGN_ANY); 使用CFrameWnd::EnableDocking (DWORD dwDockStyle)成员函数使框架窗口中的控件条可以沿停靠。下面的程序代码使框架窗口允许工具栏在任意任意位置停靠。 EnableDocking(CBRS_ALIGN_ANY); 使用CFrameWnd* FloatControlBar(CControlBar* pBar , CPoint point , DWORD dwStyle = CBRS_ALIGN_TOP)成员函数使框架窗口中的的控件条不停靠。下面的程序代码使工具栏浮动在屏幕的左上角: FloatControlBar(m_wndToolBar2,CPoint(0,0)); 使用CFrameWnd::DockControlBar(CControlBar
原创力文档

文档评论(0)