如何在 MFC单文档 对话框视图中 插入 ActiveX控件?

yang_yulei 2014-06-25 08:51:50

我想在单文档程序的一个分割窗口中添加TeeChart控件,分割窗口是对话框视图类

我在WM_CREATE消息的OnCreate响应函数中,操作控件,会报错。因为没有调用CDialog::OnInitDialog();对话框上的控件没有生成。 但是这不是一个对话框,是继承自CFromView的伪对话框,无法调用CDialog::OnInitDialog()。

(用Create动态创建也不行。)
怎么办?

...全文
181 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lujingxixi 2014-11-14
  • 打赏
  • 举报
回复
请问楼主问题有没有解决?我也遇到了类似的问题,求回复
fishion 2014-06-26
  • 打赏
  • 举报
回复
在CFromView中的OnInitialUpdate方法里调用TeeChart的Create方式创建控件,当然创建前先调用AfxOleInit( )或者CoInitialize(NULL)
yang_yulei 2014-06-26
  • 打赏
  • 举报
回复
引用 3 楼 fishion 的回复:
在CFromView中的OnInitialUpdate方法里调用TeeChart的Create方式创建控件,当然创建前先调用AfxOleInit( )或者CoInitialize(NULL)


void CTeeSYView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class
AfxOleInit() ;
m_chart.Create(" ",WS_VISIBLE, CRect(0, 0, 0, 0), this, 1234) ;

m_chart.Series(0).FillSampleValues(50);
}
还是不行,运行出错。

yang_yulei 2014-06-25
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
直接在对话框资源编辑器中插入就是了。
插入是没问题的,可以插入在对话框资源上。 问题是,我调用这个TeeChart控件时会报错。若是对话框程序,则我在其OnInitDialog()中初始化控件 是没问题的。 也就是这个视图对话框必须有CDialog::OnInitDialog() 来初始化对话框,其上的控件才能使用。 而继承自CFromView的这个对话框是没办法调用CDialog::OnInitDialog()的。所以我一使用控件 就会出错。
threenewbee 2014-06-25
  • 打赏
  • 举报
回复
直接在对话框资源编辑器中插入就是了。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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