MDI程序,子窗口还未建立,这时候怎样来传递消息?
知道要先传给MainFrame主框架,再往下传,但不知道怎么来写。请各位大大能否详细的写一下?

解决方案 »

  1.   

    1 自定义个消息
    2 SendMessage 你的消息,可以用参数传值或者标志
    3 定义个接收消息的函数,处理
      

  2.   

    这个也太虚了,我知道用SendMessage,但传参数时,窗口都没有建立,句柄也还没有,怎么传啊?
      

  3.   

    要看你的CMainFrame类怎么和你的子窗口类关联起来?
      

  4.   

    用的是文档模板,CMultiDocTemplate
      

  5.   

    没有规范吗?呵呵,那我来描述一下吧,VisualEleven兄台上次也回答过我,说是从主窗口转到子窗口,当时我的消息是这样写的://主窗口消息
    BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWndEx)
    ON_COMMAND(ID_WINDOW_MANAGER, &CMainFrame::OnWindowManager)
    ON_COMMAND(ID_VIEW_CUSTOMIZE, &CMainFrame::OnViewCustomize)
    ON_REGISTERED_MESSAGE(AFX_WM_CREATETOOLBAR, &CMainFrame::OnToolbarCreateNew)
    //以下的CTraderAccountSum是CMDIChild类窗口,我是这样传的,从无窗口类传过来的
    ON_MESSAGE(WM_USER_ONTRADINGACCOUNT,&CTraderAccountSum::OnRspUserTradingAccount)
    ON_MESSAGE(WM_USER_ONRTNORDER,&CMainFrame::OnRtnOrder)
    END_MESSAGE_MAP()我的是MDI程序,做了一个模态的登录框,接收的数据要传到子窗口去,但窗口句柄都没有,传不过去
      

  6.   

    你的意思是想将模态登录对话框上的数据传递到MDI中的一个子框架窗口中吗?
      

  7.   

    对数据的修改,最好将数据定义为Doc文档类中,然后通过UpdateAllViews()来通知视图更新
      

  8.   

    当然可以,不用这么传递
     登陆框上的数据量不大吧,直接保存到变量,当mdi子窗口启动时去读变量值
      

  9.   

    对,我的思路是这样,保存吧,登录完成后,如果我跟服务器交互呢?
    是否发送消息一定要把我MDI下的所有窗口都打开才能发送呢?
      

  10.   

    不管我放在哪个类之中,也不管怎么去实时更新,现在的问题是我根本不知道消息怎么写!
    大哥,你就写两行代码给我吧,我就要个例子就OK了
    如果直接传到子窗口中去,那么SendMessage的第一个参数要怎样
    如果传到主框架里去,那么主框架收了消息后又怎样传到子窗口呢?