MFC扩展Dll中,加载CMFCButton问题

weixin_38053743 2017-04-10 07:38:38
在MFC的多文档MDI程序中,每个MDI的子框架,从扩展DLL中加载。这个扩展DLL中,每个View从CFormView继承,其中在FormView中添加了一个CMFCButton按钮,为了改变字体颜色等只能选用CMFCButton。
但在程序加载这个子窗口时,CMFCButton按钮显示不出来,所在区域是CFormView的缺省颜色。调试了一天,观察到几个现象,大家帮忙分析分析。除了这个CMFCButton,其余的Combo/Edit/Check/Radio/Gropubox等控件都能正常显示。
1、用Spy++,能够看到这个CMFCButton对应的窗口,用Spy让它突出显示时,对应的区域有黑框闪烁。
2、在对应的CMFCButton区域,用鼠标点击,能够相应对应的按钮事件。虽然看不到按钮。
3、在按钮事件中,或者Form View的其它地方,用资源ID去调用(CMFCButton*)GetDlgItem(IDC_MFCBUTTON_ID); 能够返回按钮指针,并且该指针ASSERT_VALID有效。
4、在afxbutton.cpp中,设置对应的OnDraw等绘制函数,没有调用。
5、写了另一个插件的扩展MFC Dll,从CDialogEx集成一个窗体,里面放置一个CMFCButton,可以正常显示,对应的afxbutton.cpp中的相应OnDraw等绘图函数能够调用。
大家帮我判断一下,可能哪里出现了问题? 

...全文
12 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧