+ -
当前位置:首页 → 问答吧 → 对话框移动问题

对话框移动问题

时间:2011-12-24

来源:互联网

table1->Create(IDD_DIALOG5,this);
table1->ShowWindow(SW_SHOW);
table1->MoveWindow(0,0,500,500);

问题如下,我在生成对话框之前不知道其大小,目地只是移动而不改变大小,但是调用movewindow函数需要制定宽度和高度,哪位能指点一下如何单纯的移动这个对话框的位置而按照其原来的大小显示?

作者: feitian_feiwu   发布时间: 2011-12-24

用setwindowpos

作者: mail_cm   发布时间: 2011-12-24

设置Nflag可以忽略大小而至改变位置

作者: mail_cm   发布时间: 2011-12-24

能不能给个代码看看,我看setwindowpos也依然需要制定高宽度啊?
引用 1 楼 mail_cm 的回复:
用setwindowpos

作者: feitian_feiwu   发布时间: 2011-12-24

C/C++ code
::SetWindowPos(m_hWnd,NULL,0,0,0,0,SWP_NOSIZE | SWP_SHOWWINDOW);

第一个0和第二个0是表示移动到坐标(0,0)位置上
第三个0和第四个0表示窗口的宽高,
然后你用了SWP_NOSIZE这个标志,说明不改变窗口的大小,就是忽略第5和第6个参数

作者: backbin   发布时间: 2011-12-24

table1->SetWindowPos(table1,0,0,100,100,SWP_NOSIZE);
为什么没有变化啊?
引用 2 楼 mail_cm 的回复:
设置Nflag可以忽略大小而至改变位置

作者: feitian_feiwu   发布时间: 2011-12-24

获取大小,设置起点位置,也是可以的。

作者: LuciferStar   发布时间: 2011-12-24

引用 5 楼 feitian_feiwu 的回复:
table1->SetWindowPos(table1,0,0,100,100,SWP_NOSIZE);
为什么没有变化啊?

引用 2 楼 mail_cm 的回复:
设置Nflag可以忽略大小而至改变位置


table1->SetWindowPos(NULL,0,0,100,100,SWP_NOSIZE);
NULL这个是Z序,可以使窗口置顶的一个参数

作者: backbin   发布时间: 2011-12-24