关于CFont类型成员变量m_font 在使用m_font.CreatePointFont时出现ASSERT(m_hObject == NULL)断言

背景:

楼主在做项目时,

1、一个对话框类A用到了CFont类型的成员变量m_font,

2、在对话框类A的OnInitDialog()成员函数里用到m_font.CreatePointFont(160, _T("华文彩云"))和GetDlgItem(IDC_XXX)->SetFont(&m_font),

3、对话框类A的析构函数有m_font.DeleteObject()。


出现的问题:

点击主界面的某个按钮时生成对话框类A的模态对话框,第一次点击该按钮时不会出现问题,第二次点击该按钮时就会出现ASSERT(m_hObject == NULL)断言。


解决方法:

把m_font.CreatePointFont(160, _T("华文彩云"))挪到对话框类A的构造函数里,其它的代码不变。这样第二次点击按钮时可以成功的生成模态对话框。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值