mfc中怎么样在对话框创建前设置对话框的大小和位置
展开全部
可以放在oninitdialog里面
可以用MoveWindow(x,y,w,h);
前两个是相对屏幕左上角的xy坐标,不过不要用0,0,如果输入0,0还是会在屏幕中间,不知道为什么
后两个参数是宽度和高度
全部是int类型
可以用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里面也行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询