VC++ 怎么让对话框显示在文档里面(悬赏20分)

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:15:36
在单文档里定义一个对话框,怎么让对话框不弹出文档之外,而是嵌在文档里面。

在InitInstance()函数return TRUE前加这两句
m_wnd = new CWnd;
m_wnd->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE, CRect(100, 100, 200, 200), m_pMainWnd, 1234);
大小自己改啊, 我这边随便写了个
CWnd* m_wnd是app class的成员变量

在视图类中定义对话框,进行如下操作:
CRect rect;
GetClientRect(&rect);
CMyDlg dlg;
dlg.MoveWindow(rect);//这句和下句的顺序不能确认,如失败位置互换下看下
dlg.DoModal();

//如果最后2句位置换掉后还不行,那么为你的对话框类增加个GetShowClientRect(CRect rect)函数,
在view类里DoModal前调用GetShowClientRect
然后在oninitdialog函数里MoveWindow

你新建一个工程,在最后一步将View类的基类改为CFormView,这样你可以在对话框中设计,然后执行时,对话框就是嵌入在文档里了

SetWindowPos这个知道吧。用它就行了。