p T e s t - > C r e a t e ( C T e s t D l g : : I D D,this ) ; p T e s t - > M o d i f y S t y l e ( W S _ C A P T I O N | W S _ C H I L D , 0 ) ; p T e s t - > S h o w W i n d o w ( S W _ S H OW ) ; 这样可以,未加这面这句就不死,但移动时不跟着父窗体走。 p T e s t - > S e t P a r e n t ( t h i s ) ;
第二个在视图内动态创建窗口就是了,指定创建窗口在视图上的位置,其所采用的窗口资源即可,具体参看CDialog的MSCN帮助上都有。
试一下对话栏吧,它可以和视图一样,浮在框架上,功能与对话框差不多,上面可以任意摆放控件!
CDialogBar类。
一就是Domodal
二就是Create
有什么问题呢?
我设置了后每次最小化窗口就死了。
对话框的属性是从资源模板带过来的
可以先create出来在通过ModifyStyle修改试试看
这是我的代码
CDialog1 *dlg
dlg=new cdialog1()
dlg->create(IDD_DIALOG1,this)
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
dlg->Modifystyleex(1,WS_EX_NOPARENTNOTIFY)
dlg->Setparent(this)
dlg->showwindow(true)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHANGED是通过Modifystyle添加么
CRect rect;.
.
.
CDialog* dlg = new CDialog;
.
.
dlg->Movewindonw(&rect);
.
.最小化不死机!
试试以下代码吧
pTest->Create(CTestDlg::IDD);
pTest->ModifyStyle(WS_CAPTION|WS_CHILD, 0);
pTest->SetParent(this);
pTest->ShowWindow(SW_SHOW);
p T e s t - > S h o w W i n d o w ( S W _ S H OW ) ;
这样可以,未加这面这句就不死,但移动时不跟着父窗体走。
p T e s t - > S e t P a r e n t ( t h i s ) ;
pTest->Create(CTestDlg::IDD,this);
pTest->ModifyStyle(WS_CAPTION|WS_CHILD, 0);
pTest->ShowWindow(SW_SHOW);
靠,VC真是个没谱的东西,还是远离比较好。