如何在多个对话框中响应同一个消息?在一个类中SendMessage(),如何在不同的对话框中都响应呢????

解决方案 »

  1.   

    CWnd::SendMessageToDescendantsvoid SendMessageToDescendants(
         UINT message,
         WPARAM wParam = 0,
         LPARAM lParam = 0,
         BOOL bDeep = TRUE,
         BOOL bOnlyPerm = FALSE
        );参数: message 指定了要发送的消息。  
    wParam 指定了与消息有关的附加信息。  
    lParam 指定了与消息有关的附加信息。  
    bDeep 指定了搜索的深度。如果为TRUE,则递归搜索所有的子窗口;如果为FALSE,则仅搜索直接子窗口。  
    bOnlyPerm 指定该消息是否将被临时窗口接收。如果为TRUE,则临时窗口可以接收这个消息;如果为FALSE,则只有永久窗口才能接收这个消息。有关临时窗口的更多信息参见技术注释3。
     说明:
    调用这个成员函数以向所有的后代窗口发送指定的Windows消息。
    如果bDeep为FALSE,则消息仅被发送到窗口的直接子窗口,否则消息被发送到所有的后代窗口。
    如果bDeep和bOnlyPerm为TRUE,则在临时窗口之下进行搜索。在这种情况下,只有在搜索过程中遇到的永久窗口才能接收消息。如果bDeep为FALSE,则消息仅被发送到窗口的直接子窗口。
      

  2.   

    我用钩子解决过你说的问题!找到当前窗口的句柄  然后SENDMESSAGE
      

  3.   

    我试了下,句柄给HWND_BROADCAST,不能给子程序发消息。我想响应的窗口都是主窗口上的子对话框,发送多个消息,只有主窗口的能收到,子窗口的都收不到你们能给我个例程吗??