请教关于WebBrowser的问题?

hanfq 2008-01-22 08:38:04
我想用WebBrowser取代RichEdit做编辑,这样插入图片之类的问题就不存在了(在RichEdit中可以用ImageOle等插入Gif,但读取搞不定,并且复制粘贴也搞不定),我首先按照http://msdn2.microsoft.com/en-us/library/aa770041(VS.85).aspx的做法完成了,但是问题:
一、 IDocHostUIHandler::ShowContextMenu 屏蔽修改或删除菜单问题,我直接return S_OK后,在WebBrowser里确实弹不出菜单,但我做不出只要 复制 粘贴 剪切的编辑菜单,别的都不要。
二、在WebBrowser不能用鼠标选择文本或图片,不管在Edit模式还是Browser模式,但用键盘能选择。
三、需要插入图片或设置颜色的时候,我不想要系统那个对话框,一看就是HTML编辑的,我想要自己的对话框来取代不知道怎么做。
不知道那位大侠能帮忙,分不够可以再加,最好连代码给出,我是个菜鸟。
...全文
152 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shezhynico 2008-07-23
  • 打赏
  • 举报
回复
今天刚好也碰到你这个问题,搜索到这里.不过后来我解决了 答案贴在这里 "关于设置IDocHostUIHandler后webbrowser不能选中文本问题的解决方法 " http://www.xmcoder.com/viewthread.php?tid=4484&extra=page%3D1&frombbs=1
欢迎来到厦门程序员大本营.我在这里等着大家光临
hanfq 2008-02-25
  • 打赏
  • 举报
回复
许久了来看看,没人愿意出手了,提示我要强行结贴了
hanfq 2008-02-13
  • 打赏
  • 举报
回复
过完春节了,大虾们出来透透气了,自己重新顶上来
蒋晟 2008-02-04
  • 打赏
  • 举报
回复
In Internet Explorer 6 and earlier, the WebBrowser Control gets its context menu resources from Shdoclc.dll
http://msdn2.microsoft.com/en-us/library/aa770042(VS.85).aspx
lsyxp17 2008-02-04
  • 打赏
  • 举报
回复
帮顶
hanfq 2008-01-31
  • 打赏
  • 举报
回复
我试了下没出现菜单,随便输入了些文字,然后选中,让鼠标在上面右键也不出来,在任何地方点也不出来
mabaoyes 2008-01-31
  • 打赏
  • 举报
回复
你的鼠标到网页中edit 中可以看到文本选择菜单
hanfq 2008-01-31
  • 打赏
  • 举报
回复
楼上的似乎永远不会出现菜单,因为一直返回的是S_OK,也就是不出现菜单。
mabaoyes 2008-01-31
  • 打赏
  • 举报
回复
const int NoContextMenu = 1;
const int DefaultMenu = 2;
const int TextSelectionOnly = 3;
const int CustomMenu = 4;

ULONG m_ContextMenuMode;

STDMETHODIMP TDocHostUIHandlerImpl::ShowContextMenu(DWORD dwID,POINT *ppt,
IUnknown *pcmdtReserved,IDispatch *pdispReserved)
{
m_ContextMenuMode = TextSelectionOnly;

HRESULT result = S_FALSE;
switch(m_ContextMenuMode)
{
case NoContextMenu: // 无菜单
result=S_OK;
break;
case DefaultMenu: // 默认菜单
break;
case TextSelectionOnly: // 仅文本选择菜单
if(!(dwID == CONTEXT_MENU_TEXTSELECT || dwID == CONTEXT_MENU_CONTROL))
result=S_OK;
break;
case CustomMenu: // 自定义菜单
//if(dwID!=CONTEXT_MENU_TEXTSELECT)
// result=OnShowCustomContextMenu(ppt,pcmdtReserved,pdispReserved);
break;
}
return result;
}
gyj_china 2008-01-24
  • 打赏
  • 举报
回复
WebBrowser也要嵌入网页啊,它也只能做一般的网页展示,至于你要的这些功能都要通过网页来实现.你说的在WebBrowser不能用鼠标选择文本或图片,不管在Edit模式还是Browser模式,但用键盘能选择我也碰到过,好像是Silent的属性就可以了.
ydlchina 2008-01-23
  • 打赏
  • 举报
回复
up

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧