苗疆三刀 主程  2012年06月02日
CHtmlView的事件怎么映射?
我用MyBrowser继承CHtmlView来定制了一个网页浏览器:
class CMyBrowser : public CLhpHtmlView
{......}
现在在对话框里进行调用:
CmyDlg.h
class CmyDlg : public CDialog
{
......
CMyBrowser m_Browser;
......
}

CmyDlg.cpp
BOOL CmyDlg::OnInitDialog()
{
......
m_Browser.CreateFromStatic(IDC_BROWSR, this);
......
}
现在遇到的问题是:不知道怎么在 CmyDlg 里接收 CMyBrowser 的事件映射,比如:OnStatusTextChange(LPCTSTR lpszText);

如果只是在 CMyBrowser 的类里重载 OnStatusTextChange,我知道怎么做,不过这样操作有一点不好,那就是无法操作 CmyDlg 和CmyDlg上的控件。所以请教各位大大,怎么将CMyBrowser的OnStatusTextChange事件进行映射,让CmyDlg来调用?

比如com里的webbrowser组件,它的事件就是直接进行映射,然后让对话框进行调用的:

CmyDlg.cpp
BEGIN_EVENTSINK_MAP(CmyDlg, CDialog)
ON_EVENT(CmyDlg, IDC_EXPLORER1, 102, CmyDlg::StatusTextChangeExplorer1, VTS_BSTR)
END_EVENTSINK_MAP()
void CmyDlg::StatusTextChangeExplorer1(LPCTSTR Text){}
...全文
109 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
ATL
创建于2007-09-28

3021

社区成员

4.8w+

社区内容

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区公告
暂无公告