我建立一个基于多文档的程序,在CChildFrame::OnCreate()中创建一个控制条,在控制条中又create一个tab,当选择tab中不同的页时,我想向CChildFrame发送消息,使其做出响应.
我是用派生与CWnd的一个自定义类CCoolTabCtrl创建tab的,
我在CCoolTabCtrl的头文件中定义#define WM_MYMESSAGE    WM_USER+100
然后在CChildFrame的头文件中
#define WM_MYMESSAGE    WM_USER+100
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
在CChildFrame的源文件中
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
LRESULT CChildFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) 
{
MessageBox("test");
return 0;
}并在CCoolTabCtrl的一个函数SetActivePage()中PostMessage(WM_MYMESSAGE);
但是程序运行时,一点反应都没有,请各位朋友帮忙解决一下.谢谢!

解决方案 »

  1.   

    PostMessage(WM_MYMESSAGE);
    你的消息是发给谁呢?你这里有所到:
    -----------------------
    并在CCoolTabCtrl的一个函数SetActivePage()中PostMessage(WM_MYMESSAGE);
    -----------------------
    可见,你的消息是发给CCoolTabCtrl的,而你是要在CChildFrame中响应,所以没反应是正常的。你改用::PostMessage(),把参数填全,就ok鸟
      

  2.   

    我把PostMessage(WM_MYMESSAGE)改乘GetParent()->GetParentFrame()->SendMessage(WM_MYMESSAGE)就可以了,应该还是没有指定消息接收者的原因.多谢jun_01