如题所示,我创建了一个基于mfc的对话框项目,然后自己写了一个类,动态创建了一个按钮CButton,然后我想在自己写的那个类里面写上消息响应函数,可是结果没有任何反应,倒是在项目自动生成的**Dlg类中写消息响应函数有反映的。不知道能不能在自己的类中能不能写呢?请高手指教阿...

解决方案 »

  1.   

    自己写类继承自CButton,增加消息响应,然后在XXXDlg中动态创建,不就行了麽?
      

  2.   

    继承下来 然后.h里写afx_msg void XXX(void);和DECLARE_MAP_MESSAGE
    。cpp里写那个ON_COMMAND宏
      

  3.   

    自定义消息,是针对窗口的,否则,貌似不行哦::sendmessage(...........)
      

  4.   

    可能我自己没说清楚,我写的类继承自CWnd,在类中有个Create()函数,在里面创建CStatic,CEdit等等控件,我如果想在自己的类中写某个控件,比如说CEdit的消息响应,行不行呢...我试过在XXXDlg中增加消息是可以的...
      

  5.   


    可能我自己没说清楚,我写的类继承自CWnd,在类中有个Create()函数,在里面创建CStatic,CEdit等等控件,我如果想在自己的类中写某个控件,比如说CEdit的消息响应,行不行呢...我试过在XXXDlg中增加消息是可以的...
      

  6.   

    可能我自己没说清楚,我写的类继承自CWnd,在类中有个Create()函数,在里面创建CStatic,CEdit等等控件,我如果想在自己的类中写某个控件,比如说CEdit的消息响应,行不行呢...我试过在XXXDlg中增加消息是可以的...
      

  7.   


    消息响应是针对窗口的,你自定义的窗口需要自己写一下消息映射,才能够响应消息。注意自己的窗口类不要忘了消息映射的声明:头文件DECLARE_MESSAGE_MAP()CStatic,CEdit等等控件,MFC已经为你定义好了消息映射,你不用写任何映射代码就可以响应消息。
      

  8.   

    楼主应该用 事件响应吧! 消息响应是容器自生对自生消息的响应,事件才是容器对控件消息的响应.控件发出事件消息让容器来响应.你这里的容器就是对话框XXXDlg.事件响应和消息响应是不同的吧.虽然事件和消息表面上看起来差不多,但它们来源是不同的.很明显事件是EN_开头,消息是WM_开头. 不知道楼主是不是,这个没怎懂??