首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CDHtmlDialog怎么捕获title Change事件

2012-02-16 
CDHtmlDialog如何捕获title Change事件CHtmlView用OnTitleChange实现标题栏改变,而CDHtmlDialog应如何捕获

CDHtmlDialog如何捕获title Change事件
CHtmlView用OnTitleChange实现标题栏改变,而CDHtmlDialog应如何捕获这一事件呢

[解决办法]
是不是就是捕获改变对话框标题的消息?
[解决办法]
那应该是响应WM_SETTEXT这个消息吧。
[解决办法]
能不能这样呢?
改变标题的时候,向窗口发个消息,告诉窗口标题已经改变了
[解决办法]
API HOOK,HOOK掉SetWindowText
[解决办法]
CHtmlView::OnTitleChange 实际也就是处理 DWebBrowserEvents2::TitleChange 事件

CDHtmlDialog 派生自 CDialog 和 CDHtmlEventSink

CDHtmlEventSink就是干这个事情的,你直接给dhtmldialg加一个eventsink就可以了

BEGIN_EVENTSINK_MAP(CXXXXDlg, CDHtmlDialog)
ON_EVENT(CXXXXDlg, AFX_IDC_BROWSER, DISPID_TITLECHANGE, CXXXXDlg::OnTitleChange, VTS_DISPATCH VTS_PVARIANT)
END_EVENTSINK_MAP()

ps, in EXDISPID_H_
#define DISPID_TITLECHANGE 113

热点排行