MFC问题,封装一个CFormView

rightorwrong 2008-05-16 10:49:24
有这样的一个需求:VIEW需要分为两部分,上部分显示公共部分一个列表,CCombox和其它控件,下部分的界面需要根据不同的类型显示不同的界面,有9中类型(下半部分在其它地方也有用到)。在上部分选择CCoomBox中的不同类型时,下方的界面就需要变化。
想法是:把下部分作为一个dll,在CChildFrame::OnCreateClient中调用m_splitterWnd.CreateView时把参数串给它,但是CreateView中的参数是CRuntimeClass*,在dll中我导出一个什么样的函数呢?
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vocanicy 2008-05-16
  • 打赏
  • 举报
回复
DLL导出你的视图类即可

假设你导出的视图CxxxView
CreateView时,用RUNTIME_CLASS宏

m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CxxxView), CSize(0,0),
pContext);
pingguowuai 2008-05-16
  • 打赏
  • 举报
回复
可以动态生成控件啊!
rightorwrong 2008-05-16
  • 打赏
  • 举报
回复
我的一个MFC程序,使用了切分视图,其中某一个视图需要从DLL中动态载入,并且这个视图派生自CFormView类,在调用dll的程序中用CSplitterWnd.CreateView()函数时在创建从dll导出的视图时有问题,弹出“建立空文档失败”。
菜牛 2008-05-16
  • 打赏
  • 举报
回复
建立MFC扩展DLL,在DLL中用AFX_EXT_CLASS导出视图类。
rightorwrong 2008-05-16
  • 打赏
  • 举报
回复
在dll中的CMyFormView是继承CFormView的,在调用dll的程序中我如何知道dll中的CMyFormView名呢。调用dll的程序看不到dll中的CMyFormView名呀

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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