MFC CDialog::OnInitDialog() 的问题 2011-12-23

今天遇到这样的一个问题,设置了进度条控件后,对控件进行操作就会Crash报错 

原因很简单  因为对话框在初始化的时候没有设置控件的焦点 所以无法给予进度条控件赋与对话框句柄 

可能会导致控件无法使用的问题

解决办法:在OnInitDialog中添加   CDialog::OnInitDialog  ;

 

 

 

OnInitDialog是MFC的面向对象编程语言的类CDialog中的成员函数名。

函数原型

  CDialog::OnInitDialog
  virtual BOOL OnInitDialog();

返回值:

  指定对话框是否对它的一个控件设置输入焦点。如果OnInitDialog返回非零值, Windows将输入焦点设在对话框的第一个控件上,只有在对话框明确将输入焦点设在某控件上,应用返回0。

说明:

  调用这个成员函数是对 WM_INITDIALOG消息作出的反应。这条消息是在对话框即将显示之前,在 CreateCreateIndirectDoModal调用期间发出的。
  如果在对话框初始化后需要执行特别处理,覆盖该函数。首先调用基类OnInitDialog,但不考虑其返回值。正常情况下,覆盖的 函数返回TRUE。Windows调用OnInitDialog函数是通过标准的全局对话框过程(它们对于所有的 Microsoft基础类库的对话框是通用的),而不是通过消息映射。因此该函数不需要消息映射入口。

MFC

   MFC是MicroSoft Foundation Classes.是 微软开发的一套类库,OnInitDialog是其中用于对话框初始化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值