mfc中怎么样在对话框创建前设置对话框的大小和位置

 我来答
相思丶猫2C
2012-06-09 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:956万
展开全部
另一种方法:
BOOL SetWindowPos(
const CWnd* pWndInsertAfter, //决定窗口是否显示在最前,为NULL即可
int x, int y, //位置
int cx, int cy, //大小
UINT nFlags //参数 为SWP_SHOWWINDOW即可
);
建议你下载一个mfc类库,仔细阅读。
zhccsd
2012-06-08 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:918万
展开全部
可以放在oninitdialog里面
可以用MoveWindow(x,y,w,h);
前两个是相对屏幕左上角的xy坐标,不过不要用0,0,如果输入0,0还是会在屏幕中间,不知道为什么
后两个参数是宽度和高度
全部是int类型
追问
是否可以重载OnCreate()函数,这个寒水有一个struct的结构体,修改结构体里的参数来完成这项工作呢,我试了下,好像不行,但是为什么呢?
追答
我也试了下,确实不可以
首先一个对话框初始化运行的先后顺序是先oncreate,再oninitdialog,然后是onpaint,中间是否有其他函数不得而知,我在oncreate添加MoveWindow(120,120,1200,500);运行结果是前面的120,120根本没用,后面的宽和高有用
然后再在initdialog里面加入MoveWindow(1,1,600,250); 结果是按这个参数来的
说明在oncreate以后oninitdialog之前肯定又加载了其他函数,其中肯定有一个作用是重新设定窗口的位置
所以在oncreate里面做调整是没有意义的,确切的是还得找到那个调整位置的函数,不过放在oninitdialog里面就没有任何问题了,或者onpaint里面也行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式