OnInitDialog()和对话框的构造函数有什么区别啊? OnInitDialog <==> WM_INITDIALOG message ,(sdk ,you know?)construction function also load this function ( virtual ) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 构造函数是在窗口对象还没有创建之前,成员变量已经分配空间之后进行的.OnInitDialog是在窗口对象完创建之后发出. OnInitDialog() 用于对对话框类的变量的初始化(注意:是在产生对话框之前就初始化);而构造函数是对该函数所在类的变量及其函数进行初始化; 比方说 在构造函数里或者OnInitDialog()你都可以 给 一般的成员变量幅值,如: m_nXX = 0;m_bKK = FALSE;但是 m_pEdit = GetDlgItem(IDC_EDIT1);就只能在OnInitDialog()里面写, 因为他要窗口句柄..构造的时候还没有什么窗口呢.. 当然有了!在OnInitDialog()中对话框的所有控件都已创建!比如一个COMBOBOX你的默放选中第一项!就可以在其中加入:MyComBoBox.SetCurSel(0); 构造和析构函数是C++的概念,他们实在实例创建和释放时第一个和最后一个执行的函数,一般用来初始化、释放一些成员变量。至于,OnInitDialog(),它是一个消息处理函数,MFC通过宏来屏蔽了SDK的实现。建议你先搞清楚对话框生命期里的各个虚函数和消息处理函数,以及他们的先后关系。 纪念超级光棍节,用代码来表达我们的兴奋吧! MFC 如何在对话框显示后执行一段代码 X文件的问题 100分,求《visual c++ 游戏编程基础》的随书源代码 VC++帮助系统的问题 请问如何获得当月天数? 关于异常处理 问个资源加载的问题 有关CreateService不能启动服务的问题! 请人做图像对比功能 signcode 还有问题,没有cn参数,acptvc请进 怎样将一个二进制数据放入safearray中
OnInitDialog是在窗口对象完创建之后发出.
如:
m_nXX = 0;
m_bKK = FALSE;
但是
m_pEdit = GetDlgItem(IDC_EDIT1);
就只能在OnInitDialog()里面写, 因为他要窗口句柄..
构造的时候还没有什么窗口呢..
在OnInitDialog()中对话框的所有控件都已创建!
比如一个COMBOBOX你的默放选中第一项!
就可以在其中加入:MyComBoBox.SetCurSel(0);
至于,OnInitDialog(),它是一个消息处理函数,MFC通过宏来屏蔽了SDK的实现。建议你先搞清楚对话框生命期里的各个虚函数和消息处理函数,以及他们的先后关系。