webbrowser中如何实现鼠标拖曳后打开被拖的链接?(100分)

  • 主题发起人 主题发起人 loginfree
  • 开始时间 开始时间
如果WebBrowser需要创建,才能实现拖曳的话,老兄可否给相关例子看看?<br>还有,请问一下,如果做多页面浏览器,在整体架构上,应该注意哪些?需要做哪些准备等等。比如,TWebBrowser需要自己创建等等,现在用的是将WebBrowser拉在一个框架中了,在创新新页面的时候,标签加上框架,就是这样的,请给一些意见和见议。谢谢。
 
做这个东西建议你去下载个myie的代码看看.<br><br>或者去http://www.tomore.com/上搜代码<br><br>比如<br>http://www.tomore.com/1/26502.html
 
myie的代码以前下过,但是是VC++的,看不懂。
 
http://www.tomore.com/上有好几个多tab的浏览器的.自己去搜 ,关键字浏览器
 
上面的早就看过了。<br>对了,看到你一前的一个帖子。里面说:<br>“<br>来自:satanmonkey, 时间:2004-11-17 21:02:26, ID:2896236<br>换EmbededWB,这个是Twebbrowser的一个bug,很多人碰到。<br>EmbededWB和Twebbrowser完全兼容。<br>http://www.euromind.com/iedelphi/ &nbsp;<br>”<br>我将程序中的TWebBrowser替换成EmbededWB了,那这样用这个控件,能实现拖曳吗?
 
晕,你那么害怕自己继承组件啊?<br><br>EmbededWB是Twebbrowser的加强版,拖曳还是要自己实现IDropTarget
 
刚才好像发错了,应该是看到你的这个:<br>“<br>来自:satanmonkey, 时间:2004-11-19 9:05:55, ID:2898149<br>你只要拖个EmbedebWB上去,把名字换成原来的Twebbrowser的名字就可以了。<br>2个完全兼容的。不用改一行代码。如果是动态创建的,只要改改申明的类型就可以了。 &nbsp;<br>”<br>看过这个之后才改的。<br>我啊,现在做的浏览器,界面大家一致认为不大好,可是我从来不愿意用外部的控件。比如外部的界面控件等。<br>用DELPHI默认的TWebBrowser就是如此,但看到你上面所说的完全兼容,换一下就行了,所以我就换了试试,果真可以。<br>但不知道这个比DELPHI默认的TWebBrowser控件优秀在哪里?也没见得有什么过人之处。无非是增加了,是否允许Script、ActiveX等等。。。
 
好处是多些事件.多些属性,改了twb的一些bug<br><br>这些东西本来是要你写很多代码才有的,他帮你封装好了.他实质也是TWebbrowser,他就是从Twebbrowser继承的,所以完全兼容.
 
原来如此,谢谢解释。<br>但我以前用TWebBrowser已经好久了,比如像一直以来的不能回车了,与菜单中的(&F)冲突之类的,不能响应菜单中快捷键之类的,我都已经做好了,但不知道再加这个控件还有何用呢?
 
你需要使用他多出来的属性和方法的话就用,不需要的话就不用.
 
OK,虽然那些都实现了,但是看来用用也无妨。<br>老兄知道如何让自己写的程序的菜单栏变颜色吗?比如变成红色,白色什么的。<br>前两天有朋友告诉我,用SetSysColors,目的是达到了,但是系统中所有的其他程序的菜单栏也变色了,这样肯定不行,他又说得画什么的。但是没解决了。如果能帮助就帮助一下啊。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3358718<br><br>网页事件,如鼠标点击onmousedown(分析鼠标当前位置网页元素),拖放ondragstart(做差差)等<br>HTMLDocument:= FWebBrowser.Document as IHTMLDocument2;<br>InterfaceConnect(HTMLDocument, HTMLDocumentEvents2, Self, FConnection);<br><br> &nbsp;HTMLDocumentEvents2 = dispinterface<br> &nbsp; &nbsp;['{3050F613-98B5-11CF-BB82-00AA00BDCE0B}']<br> &nbsp; &nbsp;function &nbsp;onhelp(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418102;<br> &nbsp; &nbsp;function &nbsp;onclick(const pEvtObj: IHTMLEventObj): WordBool; dispid -600;<br> &nbsp; &nbsp;function &nbsp;ondblclick(const pEvtObj: IHTMLEventObj): WordBool; dispid -601;<br> &nbsp; &nbsp;procedure onkeydown(const pEvtObj: IHTMLEventObj); dispid -602;<br> &nbsp; &nbsp;procedure onkeyup(const pEvtObj: IHTMLEventObj); dispid -604;<br> &nbsp; &nbsp;function &nbsp;onkeypress(const pEvtObj: IHTMLEventObj): WordBool; dispid -603;<br> &nbsp; &nbsp;procedure onmousedown(const pEvtObj: IHTMLEventObj); dispid -605;<br> &nbsp; &nbsp;procedure onmousemove(const pEvtObj: IHTMLEventObj); dispid -606;<br> &nbsp; &nbsp;procedure onmouseup(const pEvtObj: IHTMLEventObj); dispid -607;<br> &nbsp; &nbsp;procedure onmouseout(const pEvtObj: IHTMLEventObj); dispid -2147418103;<br> &nbsp; &nbsp;procedure onmouseover(const pEvtObj: IHTMLEventObj); dispid -2147418104;<br> &nbsp; &nbsp;procedure onreadystatechange(const pEvtObj: IHTMLEventObj); dispid -609;<br> &nbsp; &nbsp;function &nbsp;onbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418108;<br> &nbsp; &nbsp;procedure onafterupdate(const pEvtObj: IHTMLEventObj); dispid -2147418107;<br> &nbsp; &nbsp;function &nbsp;onrowexit(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418106;<br> &nbsp; &nbsp;procedure onrowenter(const pEvtObj: IHTMLEventObj); dispid -2147418105;<br> &nbsp; &nbsp;function &nbsp;ondragstart(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418101;<br> &nbsp; &nbsp;function &nbsp;onselectstart(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418100;<br> &nbsp; &nbsp;function &nbsp;onerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; dispid -2147418099;<br> &nbsp; &nbsp;function &nbsp;oncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; dispid 1023;<br> &nbsp; &nbsp;function &nbsp;onstop(const pEvtObj: IHTMLEventObj): WordBool; dispid 1026;<br> &nbsp; &nbsp;procedure onrowsdelete(const pEvtObj: IHTMLEventObj); dispid -2147418080;<br> &nbsp; &nbsp;procedure onrowsinserted(const pEvtObj: IHTMLEventObj); dispid -2147418079;<br> &nbsp; &nbsp;procedure oncellchange(const pEvtObj: IHTMLEventObj); dispid -2147418078;<br> &nbsp; &nbsp;procedure onpropertychange(const pEvtObj: IHTMLEventObj); dispid -2147418093;<br> &nbsp; &nbsp;procedure ondatasetchanged(const pEvtObj: IHTMLEventObj); dispid -2147418098;<br> &nbsp; &nbsp;procedure ondataavailable(const pEvtObj: IHTMLEventObj); dispid -2147418097;<br> &nbsp; &nbsp;procedure ondatasetcomplete(const pEvtObj: IHTMLEventObj); dispid -2147418096;<br> &nbsp; &nbsp;procedure onbeforeeditfocus(const pEvtObj: IHTMLEventObj); dispid 1027;<br> &nbsp;end;
 
汗,弄这么多声明啊?不懂。。
 
结帖,谢谢satanmonkey,给92分。
 
后退
顶部