duilib主界面中创建mfc控件问题-未解决

6 篇文章 1 订阅

1.要用到的MFC相关的头文件,需要放在duilib的头文件#include"UIlib.h"之前;

2.工程的设置需要将 MFC的使用 这项 从使用标准window改为 在共享DLL中使用MFC;

3. 按照教程上的步骤,在 CControlUI* CreateControl(LPCTSTR pstrClass)这个函数实现中 创建CButton,在CButton::Create函数时会有断言错误:

   _AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
    { ASSERT(afxCurrentInstanceHandle != NULL);
        return afxCurrentInstanceHandle; }

这里当前句柄为空,出现断言弹框后,点忽略,也可以继续正常运行;

对于教程上的demo,估计应该是创建的mfc项目,然后在上面实现duilib主界面, 然后再在duilib主界面上创建button;

跟踪调试发现, 在duilib主界面 创建时,即create时,这个过程就调用了CreateControl这个函数,在这里创建CButton,在Cbutton的create过程中,会调用CWnd::CreateEx,这里需要获取当前instance,这里就是 AfxGetInstanceHandle(), 然后在这时断言错误;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值