闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

VS2008中OnInitDialog那点事

2011-05-04 约 2 分钟读完 搬砖秘籍

在用VS2008写MFC时,自已添加对话框,并生成类后,并没有OnInitDialog(void)函数,而这个函数往往要初始化一些东西,没有它感觉很麻烦,怎么办呢?既然微软不给力,那就自己动手,丰衣足食呗!

手动添加步骤如下:

1. 在生成对话框的类中右击->添加函数,函数名为:OnInitDialog 类型为BOOL,并设置为虚函数;

2. 修改生成的函数,生成的原函数为
BOOL ***::OnInitDialog(void) { return 0; }
但是此时还不行,一定要添加CDialog::OnInitDialog();如下示:
BOOL ***::OnInitDialog(void) { CDialog::OnInitDialog(); // 一定要加啊! //------------在以下添加自已的代码---

return 0; }

下面尽情写你的初始化数据吧!

//PS:本文已经更新,这个方法不适合使用,请到这里!

5 条评论

  1. Sailor 博主
    欢迎再来
  2. kassol_zx
    这个其实没有那么麻烦的啦,虽然vs2005和vs2008是没有类向导的(这点比较DT),但是它类属性里面是可以直接添加虚函数的啦,这个可以自动生成,比你那个快多了。。。
    1. Sailor 博主
      哦哦,我刚刚试过了,的确可以,又学到了一点~
  3. 夏影
    直接在类向导里重写该虚函数不就行了么?
    1. Sailor 博主
      嗯,是的,已经更新了!谢谢提醒
MFC控件介绍之slider篇 CDC::SetROP2()参数设置