ActiveX怎么象MFC窗口那样处理自定义消息?我照处理MFC一样添加的消息,可以正常编译,但使用了这个ActiveX的工程打开时VC会崩掉
描述:
如题,
我首先 定义了一个自定消息
#define WM_SICOMMAND WM_USER+1010
在CP3ContralCtrl.cpp的
BEGIN_MESSAGE_MAP(CP3ContralCtrl, COleControl) 宏块中添加了以下这句
ON_MESSAGE(WM_ISCOMMAND, OnIsCommand)
又在CP3ContralCtrl.h的类声明中加入了这句:
afx_msg void OnIsCommand(WPARAM wParam, LPARAM lParam);
再实现了OnIsCommand函数。
这个工程可以编译成功,但这个ocx控件被"Insert ActiveX Contral"加入到对话框工程时,马上出现一个错误框,VC崩溃。
救命!
解决方案1:
class CMySocket
{
CDialog *m_pDlg;
} ;
用指针然后再用一个方法把你的CMyActiveChildDlg 传给m_pDlg不就好了!
传递对象好了
解决方案3:我有说要你包含它的头文件吗??
解决方案4:在socket类中定义一个指向dialog对象的指针,在头文件中使用dlg类的引用声明,在构造socket类对象时将dlg指针传过来。
解决方案5:没做过,标准消息函数返回值为LRESULT不是void
解决方案6: 函数类型错了
afx_msg LRESULT OnIsCommand(WPARAM wParam, LPARAM lParam);