1、一个是将视图从CView继承改为从CFormView继承
2、另一种就是一个非模态的子对话框,可以显示的时候用MoveWindow确定一下位置
对话框如何嵌入到视图客户区中:
1.在xxxView.h 中定义一个变量
// 先添加头文件
#include "MyDialog.h"
//再声明个变量(CMyDialog 自己添加一个Dialog)
public:
CMyDialog myDlg;
2.
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if ( myDlg.m_hWnd == NULL )
{
myDlg.Create( IDD_MYDLG, this );
//myDlg.ModifyStyle(WS_CHILD,0);
/*DWORD dwStyle = GetWindowLong(myDlg.m_hWnd,GWL_STYLE);
dwStyle|= WS_CHILD;
SetWindowLong(myDlg.m_hWnd,GWL_STYLE,dwStyle);*/
}
myDlg.ShowWindow( SW_SHOW );
CRect rect;
GetClientRect(&rect);
//GetWindowRect(&rect);
ClientToScreen( &rect );
myDlg.MoveWindow(&rect);
}