怎么初始化MFC主对话框界面

运行的界面如图1,但界面理应如图2,请问如何初始化?... 运行的界面如图1,但界面理应如图2,请问如何初始化? 展开
 我来答
风飞尘落
推荐于2016-07-11 · 心理咨询师,中国科学院心理研究所
风飞尘落
采纳数:26463 获赞数:163422

向TA提问 私信TA
展开全部
重写OnInitDialog函数,这个是对话框的初始化函数,需要初始化的代码写在这个函数就可以了。

如果没有OnInitDialog函数,按如下步骤添加:

1. vc6.0版本
类视图 ---> 右键对话框--->添加windows消息事件(add Windows Message....) ---
---> 双击 WM_INITDIALOG

2. vs版本
类视图 ---> 右键对话框类 ---> 属性--->重写---->添加 OnInitDialog
石榴玉露香凝2510
推荐于2017-12-16 · TA获得超过134个赞
知道答主
回答量:94
采纳率:0%
帮助的人:98.7万
展开全部
重载对话框(CDialog)的OnInitDialog() 函数即可,可以在其中直接调整对话框内的控件位置及大小,当然也可以设置对话框的大小。
控件可能是已经设置的控件变量,或者可以通过ID获得,如 CWnd * pWnd = GetDlgItem(ID_CTROL);
GetWindowRect 获得控件的大小
用 MoveWindow 或 SetWindowPos 设置新的位置大小等
一般在可视化界面编辑器中调整即可。对于动态生成的控件等习惯在这里设置

如果窗口在运行时大小变化,可以考虑在 OnSize 中处理。
但建议把调整大小的代码单独写在一个函数中,并可在 OnInitDialog() 和 OnSize() 等地方调用。
如果要禁止大小变化,应在对话框模板中设置窗口边框为不可调整的。
追问
我重新换了一个代码,就好了~~~也不知道什么原因。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2013-11-27 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:60%
帮助的人:1289万
展开全部
在OnInitDialog() 函数里面进行初始化,这个方式只对程序刚启动有效,对于上面控件尺寸调整,可以在 WM_SIZE消息函数理进行尺寸调整,但要注意,在进行控件只存调整之前一定要先判断控件句柄是否有效,否则程序会崩溃.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why755
2013-11-27 · TA获得超过311个赞
知道小有建树答主
回答量:624
采纳率:75%
帮助的人:340万
展开全部
处理 WM_SIZE消息就可以实现.
通过计算客户区的大小,然后各个控件的所需要的大小就可以.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式