[IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)

光标浏览模式(Caret Browsing)是IE8的新特性,进入该模式之后, 会在页面中出现一个类似于记事本中的输入光标,用户可以使用键盘(按Shift 键或者Alt键+ 方向键)来精确地进行页面文字的选择。 IE8 中打开/关闭光标浏览模式的快捷键是 F7。
那么如何编程来打开/关闭Caret Browsing模式呢? 答案是通过IOleCommandTarget执行IDM_CARETBROWSINGMODE 命令。
以下示例代码演示如何打开关闭Caret Browsing:
IOleCommandTarget* pCmdTarg = NULL;
hr = pWebBrowser->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarg); // 通过 IWebBrowser2 oIHTMLDocument2 都可以取得IOleCommandTarget接口
pCmdTarg->Exec(&CGID_MSHTML, IDM_CARETBROWSINGMODE, OLECMDEXECOPT_DODEFAULT, NULL, NULL));  // 切换开启/关闭模式
如何查询Caret Browsing 是开启还是关闭的?  以下示例代码演示查询Caret Browsing的状态:
OLECMD rgcmd = { IDM_CARETBROWSINGMODE, 0 };
pCmdTarg->QueryStatus(&CGID_MSHTML, 1, &rgcmd , NULL); //查询状态
BOOL bIsCaretBrowsing = (rgcmd.cmdf & (OLECMDF_ENABLED & OLECMDF_LATCHED) != 0);

 

本文出自 “IE浏览器研发” 博客,转载请与作者联系!

你可能感兴趣的:(编程,职场,休闲)