CMFCTOOLBAR 控件怎么添加处理程序 、事件

lixiang li 40 信誉分
2024-05-15T06:04:30.4833333+00:00

有图标了但是没有事件和处理程序屏幕截图 2024-05-15 140224

怎么激活按钮呢?

Visual Studio
Visual Studio
一系列 Microsoft 集成开发工具套件,用于生成适用于 Windows、Web 和移动设备的应用程序。
107 个问题
C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
147 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
    2024-05-16T09:59:25.7466667+00:00

    你好,对于为ToolBar 添加事件,你可以参考下面的步骤。

    1新建一个MFC项目(CMFCApplication2Dlg),在Resource View中的项目右键添加资源Add Resource,选择Toolbar->New

    2.在Toolbar控件点击右键选择资源。编辑ID, 属性栏的自定义ID最终会体现在Resource中。
    这里我设置为IDR_TOOLBAR1。

    3.使用工具栏画笔在工具栏上手动绘制位图。

    class CMFCApplication2Dlg : public CDialogEx
    
    {
    
    private:
    
    	CMFCToolBar m_ToolBar;  
    ...  
    }
    
    
    

    CMFCApplication2Dlg.cpp

    BOOL CMFCApplication2Dlg::OnInitDialog()
    {
    	...
    	if (m_ToolBar.Create(this, AFX_DEFAULT_TOOLBAR_STYLE, 100))
    	{
    		m_ToolBar.SetPaneStyle(m_ToolBar.GetPaneStyle()
    			& ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_ANY));
    		m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
    		CSize   sizeToolBar = m_ToolBar.CalcFixedLayout(FALSE, TRUE);
    		m_ToolBar.SetWindowPos(NULL, 0, 0, sizeToolBar.cx, sizeToolBar.cy,
    			SWP_NOACTIVATE | SWP_NOZORDER);
    	}
    	return TRUE;
    }
    
    
    

    4.右键项目select Class Wizard...

    Class name: 选择Dialog (CMFCApplication2Dlg) -> Commands搜索添加的ID(IDR_TOOLBAR1) ->Messages:中选择COMMAND->点击Add Handler... CMFCApplication2Dlg.h

    void CMFCApplication2Dlg::OnIdrToolbar1()
    
    {
    
    	// TODO: Add your command handler code here
    int a = 0;
    }
    
    
    

    你可以加断点到行 int a=0; 进行测试。


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。