MFC 界面编辑界面双击按钮添加的响应函数默认是void返回值类型的,我需要返回一个BOOL值,如何修改?我试图自己手动修改Dlg.h文件和cpp文件的函数定义和声明改为BOOL型,但是编译时BEGIN_MESSAGE_MAP和END_MESSAGE_MAP中间提示错误error C2440: “static_cast”: 无法从“int (__thiscall CBPDlg::* )(void)”转换为“AFX_PMSG”1>          从基类型到派生类型的强制转换需要 dynamic_cast 或 static_cast求解

解决方案 »

  1.   

    如果是反射消息的话, 可以试试 ON_CONTROL_REFLECT_EX
    父类中的话 试试重载 OnCommand 直接处理 
      

  2.   

    一个按钮的处理函数,本身返回void,你返回BOOL是给谁用?楼主意义在哪里?
      

  3.   

    封装一个BOOL类型的函数和一个BOOL型变量。
    BOOL型的函数放在点击函数void里面执行,返回值给这个BOOL型变量。
    然后拿着这个BOOL变量参与运算即可。诚如楼上所言,一个BOOL按钮函数是没有必要返回BOOL值的。
      

  4.   

    加个 BOOL m_bVar;
    在 这个变量中 返回。