WebBrowser控件使用详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

WebBrowser控件使用详解方法GoBack相当于IE的“后退”按钮,使你在当前历史列表中后退一项GoForward相当于IE的“前进”按钮,使你在当前历史列表中前进一项GoHome相当于IE的“主页”按钮,连接用户默认的主页GoSearch相当于IE的“搜索”按钮,连接用户默认的搜索页面Navigate连接到指定的URLStop相当于IE的“停止”按钮,停止当前页面及其内容的载入Refresh刷新当前页面Refresh2同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL执行简单的刷新,不将HTTPpragma:no-cache头发送给服务器REFRESH_IFEXPIRED只有在网页过期后才进行简单的刷新REFRESH_CONTINUE仅作内部使用。在MSDN里写着DONOTUSE!请勿使用REFRESH_COMPLETELY将包含pragma:no-cache头的请求发送到服务器属性Application如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser控件的自动化对象Parent返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口Container返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同Document为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则Document属性提供对DHTMLObjectModel的访问途径TopLevelContainer返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回trueType返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返回MicrosoftWordDocumentLeft返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离Top返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离Width返回或设置WebBrowser窗口的宽度,以像素为单位Height返回或设置WebBrowser窗口的高度,以像素为单位LocationName返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源是网页就是网页的标题;如果是文件或文件夹,就是文件或文件夹的名称LocationURL返回WebBrowser当前正在显示的资源的URLBusy返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true就可以使用stop方法来撤销正在执行的访问操作事件BeforeNavigate2导航发生前激发,刷新时不激发CommandStateChange当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward菜单项或按钮DocumentComplete当整个文档完成是激发,刷新页面不激发DownloadBegin当某项下载操作已经开始后激发,刷新也可激发此事件DownloadComplete当某项下载操作已经完成后激发,刷新也可激发此事件NavigateComplete2导航完成后激发,刷新时不激发NewWindow2在创建新窗口以前激发OnFullScreen当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)OnMenuBar改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。VARIANT_TRUE是可见,VARIANT_FALSE是隐藏OnQuit无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发OnStatusBar与OnMenuBar调用方法相同,标示状态栏是否可见。OnToolBar调用方法同上,标示工具栏是否可见。OnVisible控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数StatusTextChange如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏TitleChangeTitle有效或改变时激发使用技巧1.禁止右键看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页(Webbrowser1.Document.execCommandeditMode)的时候有很多弊端,比如不能显示选中的文本等。另有些方法也就不用一一列举了。这儿我想提到的是关于MSHTML.HTMLDocument引用MicrosoftHTMLOBjectLibraryRem#窗体代码#DimWithEventsM_DomAsMSHTML.HTMLDocumentPrivateFunctionM_Dom_oncontextmenu()AsBooleanM_Dom_oncontextmenu=FalseEndFunctionPrivateSubWebbrowser1_DownloadComplete()SetM_Dom=Webbrowser1.DocumentEndSubRem好了,右键菜单没有了=====================================================================2.控件调用和获得收藏夹里面基本上用specialfolder(6)就可以得到收藏夹的路径,然后你可以用dir去循环读入每个目录,然后dir里面的file,file的名字就是你要的收藏的名字,路径可以自己根据从上面得到的路径去得到。如果你不用dir也可以用vb的dir控件.PrivateTypeSHITEMIDcbAsLongabIDAsByteEndTypePublicTypeITEMIDLISTmkidAsSHITEMIDEndTypePublicFunctionSpecialFolder(ByRefCSIDLAsLong)AsString'locatethefavoritesfolderDimRAsLongDimsPathAsStringDimIDLAsITEMIDLISTConstNOERROR=0ConstMAX_LENGTH=260R=SHGetSpecialFolderLocation(MDIMain.hwnd,CSIDL,IDL)IfR=NOERRORThensPath=Space$(MAX_LENGTH)R=SHGetPathFromIDList(ByValIDL.mkid.cb,ByValsPath)IfRThenSpecialFolder=Left$(sPath,InStr(sPath,vbNullChar)-1)EndIfEndIfEndFunction=====================================================================3.全屏是的,webbrowser本生是一个控件,你要它全屏,就是要它所在的窗体全屏,可以用setwindowlong取消窗体的title,用CallShowWindow(FindWindow(Shell_traywnd,),0)隐藏tray,就是下边那个包含开始那一行.用CallShowWindow(FindWindow(Shell_traywnd,),9)恢复.够详细了吧.然后在form1.windowstate=2就可以了.=====================================================================4.选择网页上的内容。PrivateSubCommand1_Click()'请先选中一些内容Me.WebBrowser1.ExecWBOLECMDID_COPY,OLECMDEXECOPT_DODEFAULTMsgBoxClipboard.GetTextEndSub=====================================================================5.用IE来下载文件PrivateDeclareFunctionDoFileDownloadLibshdocvw.dll(ByVallpszFileAsString)AsLongPrivateSubCommand1_Click()DimsDownloadAsStringsDownload=StrConv(Text1.Text,vbUnicode)CallDoFileDownload(sDownload)EndSubPrivateSubForm_Load()Text1.Text=~softdaily/fo-ag162.zipForm1.Caption=Audiograbber1.62FullText2.Text======================================================================6.我要动态加载和删除WebBrowser控件应该怎么做?PrivateSubCommand1_Click()Form1.Controls.Addshell.explorer.2,NewWeb,Form1WithForm1!NewWeb.Visible=True.Width=10000.Height=10000.Left=0.Top=0.Navigate2()Controls.RemoveForm1!newwebEndSubForm1.Controls.Addshell.explorer.2,newweb(newweb.Count),Form1WithForm1!newweb(newweb.Count).Visible=True.Width=1000.Height=1000.Left=newweb(newweb.Count-1).Left+newweb(newweb.Count-1).Width.Top=0'.Navigate2(newweb.Count),Form1这一行错误13类型不匹配?ps:我在form中已经有了一个newweb(0)控件先为一个WebBrowserDimiAsIntegerPrivateSubAddWeb_Click()Fori=1To10LoadNewWeb(i)NewWeb(i).Top=i*100NewWeb(i).Left=i*100NewWeb(i).Visible=TrueNextiEndSubPrivateSubDelWeb_Click()Fori=1To10UnloadNewWeb(i)NextiEndSub=====================================================================7.一个把页面保存为MHT(即MHTML)文件将pcwak(书剑狂生[MSMVP])大侠提供的资料贴出来,以供大家参考:我终于找到一个把页面保存为MH

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功