zoukankan      html  css  js  c++  java
  • 为自定义工具栏按钮添加消息响应函数

           MFC程序中,资源编辑器,工具栏,添加一个自定义的按钮(Button)。由于此时没有为该按钮添加消息映射响应函数,按钮为灰色。下边我们介绍两种添加消息响应函数的方法:

    假设工具栏自定义按钮 ID为ID_TB_VIEW_ROTATE,所在工程名称为MyTest.

    第一种方法:(没有对应的“菜单” 按钮及响应函数,需要手动编写)

    1.1

    视图类头文件  CMyTestView.h 中,添加消息响应函数声明:

    afx_msg void OnTBViewRotate(); 

     1.2

    视图类源文件 CMyTestView.cpp中,添加消息响应函数的映射:

    BEGIN_MESSAGE_MAP(CHOOPSMol_MULView, CHoopsView)
        
        ON_COMMAND(ID_VIEW_Rotate, OnOrbit)
        ON_COMMAND(ID_VIEW_TRANSLATE, OnPan)
        ON_COMMAND(ID_VIEW_ZOOM, OnZoom)
                       .....
    
        ON_COMMAND(ID_TBB_VIEW_ROTATE, OnTBBViewROTATE());
        
    END_MESSAGE_MAP()

    1.3
    视图类源文件 CMyTestView.cpp中,添加消息响应函数的定义:

    void CMyTestView::OnTBBViewROTATE()
    {
    // TODO: 在此添加专用代码添加实现代码
    int value;
    ....
    }

    Over, 工具栏自定义 按钮 添加完毕。

    第二种方法:(工具栏自定义按钮,有对应的“菜单”按钮,及其对应的消息映射函数)

    这种就比较简单了,直接在工程视图类源文件中修改:

    在CMyTestView.cpp中,将工具栏自定义按钮,映射到其对应的“菜单”按钮消息响应函数上,代码如下:

    BEGIN_MESSAGE_MAP(CHOOPSMol_MULView, CHoopsView)
        
            ON_COMMAND(ID_VIEW_Rotate, OnOrbit) //对应到菜单ID_VIEW_Rotae对应的消息响应函数 OnOrbit()
    ON_COMMAND(ID_VIEW_TRANSLATE, OnPan) ON_COMMAND(ID_VIEW_ZOOM, OnZoom) ..... //工具栏自定义按钮,对应到菜单ID_VIEW_Rotae对应的消息响应函数 OnOrbit()
    ON_COMMAND(ID_TBB_VIEW_ROTATE, OnOrbit) END_MESSAGE_MAP()

    over,工具栏自定义按钮,消息响应函数添加完成。

  • 相关阅读:
    tcp/udp高并发和高吐吞性能测试工具
    beetle.express针对websocket的高性能处理
    深度神经网络(DNN)反向传播算法(BP)
    深度神经网络(DNN)模型与前向传播算法
    分解机(Factorization Machines)推荐算法原理
    用Spark学习矩阵分解推荐算法
    SimRank协同过滤推荐算法
    矩阵分解在协同过滤推荐算法中的应用
    协同过滤推荐算法总结
    用Spark学习FP Tree算法和PrefixSpan算法
  • 原文地址:https://www.cnblogs.com/vranger/p/3082962.html
Copyright © 2011-2022 走看看