事件处理映射宏 基本格式 BEGIN_DHTML_EVENT_MAP(className ) DHTML_EVENT_ONCLICK(elemName, memberFxn ) //处理onclick事件 DHTML_EVENT_ONFOCUS(elemName, memberFxn ) //处理onfocus事件 DHTML_EVENT_ONKEYDOWN(elemName, memberFxn ) //处理onkeydown事件 DHTML_EVENT_ONMOUSEMOVE(elemName, memberFxn ) //处理mousemove事件 DHTML_EVENT_ONMOUSEOUT(elemName, memberFxn ) //处理mousemoveout事件 等等……… END_DHTML_EVENT_MAP() 更详细的说明可以查阅MSDN中DHTML Event Map Macros部分。MSDN中对可以处理的事件进行了详细的说明。DHTML中的事件与Windows中消息不是同一个概念,虽然映射宏的形式很相同。 添加映射处理代码 我在VC7中没有发现自动添加各种事件映射的方法,只能通过手工添加代码的方式。 定义事件处理函数: 函数原型为:HRESULT urClass::OnXXXXX(IHTMLElement* /*pElement*/) 添加消息映射: BEGIN_DHTML_EVENT_MAP(urClass) DHTML_EVENT_ONCLICK(_T("id name"), OnXXXXX) END_DHTML_EVENT_MAP() 下面是一段示范代码: // mydlg.h class CmydhtmlDlg : public CDHtmlDialog { // 构造 public: CmydhtmlDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = IDD_MYDHTML_DIALOG, IDH = IDR_HTML_MYDHTML_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 |
正在阅读:VC7 HTML Dialog开发实例讲解VC7 HTML Dialog开发实例讲解
2004-04-05 10:08
出处:VChelp
责任编辑:sdq
键盘也能翻页,试试“← →”键