|
1,看看效果


2,关于Browser控件 如果您用的IDE是VisualStudio 2005, 那么您会发现,上面有个WebBrowser控件,请 不要 使用该控件来开发这个浏览器(原因是它缺少了很多参数,将使您的工作在中途陷入困境) 请使用axWebBrowser控件。在VisualStudio的工具箱中,右击鼠标 -----> 选择项 -----> Com组件 -------> "Microsoft Web 浏览器", 然后该控件就被添加到工具箱了.
3,导航到指定网页 导航函数为Navigate(String),使用它打开指定的网页
4,“在新窗口中打开” 首次创建网页浏览器时,都会为这样一个问题而郁闷:当“在新窗口中打开”时,新弹出的页面将在您系统默认的浏览器中打开,而不是在你所编写的浏览器中。这也是为什么不使用VisualStudio2005的WebBrowser控件的原因之一。 注意到axWebBrowser控件的NewWindow2事件,参数DWebBrowserEvents2_NewWindow2Event e 有一个ppDisp字段(VisualStudio2005的WebBrowser控件没有该字段), 设置e.ppDisp = myBrowser.Application; 就可以了。其中myBrowser只的是您要在其中打开网页的那个axWebBorwser对象。 NewWindow3事件只支持XP sp2以后的版本。
5,“前进”与“后退” 它们分别对应控件的GoBack()和GoForward()函数。 但,如何判断但前可否前进或后退?(axWebBrowser控件没有WebBrowser控件的CanGoBack与CanGoForward属性)。 注意到,axWebBrowser控件的CommandStateChange事件,参数DWebBrowserEvents2_CommandStateChangeEvent e有两个字段e.command和e.enable。 e.command: 值为1时针对前进按钮,值为2时针对后退按钮;e.enable:表明所针对的按钮当前是否可用。您可以根据此来启用或停用“前进”“后退”按钮。
6,“页面另存为”,“打印”,“打印预览”,“查找”等 它们对应axWebBrowser的同一个函数ExecWB( ) ,只是传入的参数不同而已。
7,“Internet选项”,“参看源文件” 在这之前,您应该添加对“msHtml.dll”的引用,添加引用-----> Com ---->"microsoft HTML object library" 然后定义定义 IOleCommandTarget 接口:
[ComImport, Guid("b722bccb-4e68-101b-a2bc-00aa00404770"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOleCommandTarget
 {
void QueryStatus(ref Guid pguidCmdGroup, UInt32 cCmds,
[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] OLECMD[] prgCmds, ref OLECMDTEXT CmdText);
void Exec(ref Guid pguidCmdGroup, uint nCmdId, uint nCmdExecOpt, ref object pvaIn, ref object pvaOut);
}
并定义一个函数来取得axWebBrowser对象的当前文档(mshtml.HTMLDocument对象):
|