为什么建一个无模式对话框时,OnApply的消息映射要从Dialog到CMainFrame再到
CChildView?而不能从从Dialog直接到CChildView?在Dialog中
AfxGetMainWnd ()->SendMessage (WM_USER_APPLY, 0, (LPARAM) &rp);在CMainFrame中
ON_MESSAGE (WM_USER_APPLY, OnApply)
CChildView    m_wndView;
LRESULT CMainFrame::OnDialogDestroyed (WPARAM wParam, LPARAM lParam)
{
m_wndView.SendMessage (WM_USER_DIALOG_DESTROYED, wParam, lParam);
return 0;
}再到CChildView
ON_MESSAGE (WM_USER_APPLY, OnApply)
再在OnApply中重画图形?

解决方案 »

  1.   

    获得view的指针后sendmessaage不就得了...
      

  2.   

    找到View的指针,然后用SendMessage把消息送给它。
      

  3.   

    to  kingcom_xu(刀是用来杀人的!) :
    刀主要还是用来切菜的吧!!:)
      

  4.   

    对,先获得view的句柄
    如下
    CFrameWnd *pFrame=(CFrameWnd*)::AfxGetMainWnd();
    CView *pView=(CTeachView*)pFrame->GetActiveView();
    然后用sendmessage;
    SendMessage(*pView,你的消息和参数);
    这样就直接到达view了
      

  5.   

    如果该无模式对话框的父窗是你的VIEW则更好办了。GetParent()->SendMessage (WM_YOURMESSAGE);
      

  6.   

    看看:
    http://www.csdn.net/Develop/read_article.asp?id=15980http://www.csdn.net/Develop/read_article.asp?id=16001
    希望能有帮助。