你应该去拦截点击那个BUTTON的消息吧,不过也不知道行不行

解决方案 »

  1.   

    是的,我就是要得到点击Button的消息,可是不知道怎么做
      

  2.   

    刚刚悟道:
        象BUTTON这样的单击消息是发给父窗口的,
        而动态建立的BUTTON时,指定的父窗口是工具条,
        所以在我的程序中处理单击消息,那肯定是收不到的。
    还没有什么好办法呢?
      

  3.   

    我以前也碰到过类似的情况
    首先你要在父窗口中对该BUTTON的CLICK事件写代码
    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
    然后在消息映射中就会有这样的代码:
    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
             ........
    ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
             ........
    END_MESSAGE_MAP    (假设说你的BUTTON的ID是上面那个ID,我随便粘过来的)
        然后在调用的部分就可以直接发PostMessage了。你自己说了,可以得到窗口句柄,就直接这样写就行了(在第一个窗口中需要的地方调用):
        窗口句柄->PostMessage(WM_COMMAND,ID_EDIT_PASTE);