SetWindowPos问题

zyc_lc 2009-03-24 03:43:46
对话框大小不改变,想在显示的 时候出现在右上角某一位置,比如:
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
得到大小后::SetWindowPos(5*cx/6,5*cy/6,?,?,?);
PreCreateWindow中该如何实现呢? 请大家帮帮忙,谢谢!
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenhiman 2009-03-24
  • 打赏
  • 举报
回复
如果你的对话框是非模态对话框 也就是用create创建的dialog,这是很容易的事情,在确认dialog已经创建成功的任意地方都可以设定位置大小。但如果是模态对话框,MFC domodal会主动调用centerwindow。所以我觉得对于这样的dialog,只好是在domodel完了以后再设定位置了。赫赫 也许。。。
bk_wxb 2009-03-24
  • 打赏
  • 举报
回复
在OnInitDialog()中
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);

SetWindowPos( &wndTopMost ,cx/10,cy/10, 0,0,SWP_NOSIZE );
hxzmm 2009-03-24
  • 打赏
  • 举报
回复
对话框没有PreCreateWindow,你放在OnInitDialog里面
SetWindowPos(5*cx/6, 5*cy/6, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
lwx300 2009-03-24
  • 打赏
  • 举报
回复
可以更改 cs 的 x, y 的成员。
如果更改 cx, cy 则可以改变窗口的大小。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧