WEB开发网
开发学院软件开发VC 浏览器的定制与扩展 阅读

浏览器的定制与扩展

 2006-07-22 22:56:33 来源:WEB开发网   
核心提示: 怎样禁止网页元素的选取用网页做界面时多数情况下是不希望网页上的元素是能够被鼠标选中的, 要使网页元素不能被选中做法是:给浏览器的“宿主信息标记”加上DOCHOSTUIFLAG_DIALOG标记,浏览器的定制与扩展(9),“宿主信息标记”用N个

怎样禁止网页元素的选取

用网页做界面时多数情况下是不希望网页上的元素是能够被鼠标选中的, 要使网页元素不能被选中做法是:给浏览器的“宿主信息标记”加上DOCHOSTUIFLAG_DIALOG标记。

“宿主信息标记”用N个标记位来控制浏览器的许多性质,如:

  • 禁用浏览器的3D的边缘;
  • 禁止滚动条;
  • 禁用脚本;
  • 定义双击处理的方式;
  • 禁用浏览器的自动完成功能;

...... 更多详情请参考MSDN的DOCHOSTUIFLAG帮助。

怎样修改“宿主信息标记”?

在CDocHostSite中实现IDocHostUIHandler, 在GetHostInfo方法中调用浏览器的OnGetHostInfo虚函数,在虚函数OnGetHostInfo中便可指定“宿主信息标记”,如:

HRESULT CLhpHtmlView::OnGetHostInfo(DOCHOSTUIINFO * pInfo)
{
  pInfo->cbSize = sizeof(DOCHOSTUIINFO);
  pInfo->dwFlags = DOCHOSTUIFLAG_DIALOG |
            DOCHOSTUIFLAG_THEME |
            DOCHOSTUIFLAG_NO3DBORDER |
            DOCHOSTUIFLAG_SCROLL_NO;
  pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
  return S_OK;
}
用脚本也可实现: 在Head中加入脚本: document.onselectstart=new Function(''return false'');或者 <body onselectstart="return false">。

其它

在CLhpHtmlView中还提供了几个函数, 修改网页元素的内容:BOOL PutElementHtml(CString ElemID,CString Html);取表单元素的值:BOOL GetElementValue(CString ElemID,CString& Value);设置表单元素的值:BOOL PutElementValue(CString ElemID,CString Value);给表单元素设置焦点:void ElementSetFocus(CString EleName);

上一页  4 5 6 7 8 9 

Tags:浏览器 定制 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接