MFC在对话框中添加了一个richedit控件,窗口就不显示了。

在对话框中添加了一个richedit控件,对话框就不显示了
郁闷,我试图弹出一个对话框,步骤如下:
1.建立了一个对话框资源的模板
2.双击模板建立对应的类
3.包含头文件
4,弹出对话框,代码如下:
CAddTypeDlg dlg;
dlg.DoModal();
但是,却无法弹出对话框?
其他的对话框都可以,但就是这个对话框弹不出来,
是vc的毛病?还是其他什么呢?
后来才发现,是添加了richEdit的问题,去掉就行了,但是不是解决方法,于是网上搜了一下,还真有:参考如下资料:
 
这个问题是同事遇到的,比较有趣的现象:就是他有一个MFC的对话框应用程序,添加了一个RichEdit控件后就不能正常显示了,现象就是点生成的可执行程序,没有反应。我上网查阅了下,网上的说法是程序还没有准备好RichEdit的编辑,就是还没有为这个控件做好准备,解决办法是手动添加做准备语句,在应用程序类的InitInstance函数体内添加以下语句:
        AfxInitRichEdit():
这样就好了,真是奇怪。
最后看到了MS的解释,属于官方的东西,比较正式,帖在这里。 
    If you are using a rich edit control in a dialog box (regardless whether your application is SDI, MDI, or dialog-based), you must call AfxInitRichEdit once before the dialog box is displayed. A typical place to call this function is in your program’s InitInstance member function. You do not need to call it for each time you display the dialog box, only the first time. You do not have to call AfxInitRichEdit if you are working with CRichEditView.
     不过到底是为什么会这样,还是不明白,也不知道MFC内部是如何处理的,不过知道怎么做就是了。
在CxxxApp::InitInstance()中添加代码  
  AfxInitRichEdit();  
在app的InitInstance中加入AfxRichEditInit()初始化richedit空间
初始化通用控件即可,InitCommonControl***或InitCommonControls皆可
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值