在非MFC类里面,想要获得CView中一个模式对话框的句柄,我大致是这样搞的:
class CMyView : public CView
{
   ...
   CMyDlg m_MyDlg;
   ...
}void CMyView::ShowMyDlg()
{
   m_MyDlg.DoModal() 
}void MyClass::getDlgHWnd()
{
    HWND hWndView = theApp.m_pMainView->m_hWnd; //我把MyView的指针保存在theApp里面了
    CWnd* pMainView = CWnd::FromHandle(hWndView);//必须这样倒一下,不然会被VC编译器优化掉,FT:(
    HWND hWndDlg = ((CMyView*)pMainView)->m_MyDlg.GetSafeHwnd();
}
但是跟踪之后发现这样得到的Handle和实际DoModal出来的对话框Handle值不一样 :S
不知如何是好,望大侠多指点!!