vb多窗口浏览器.doc_第1页
vb多窗口浏览器.doc_第2页
vb多窗口浏览器.doc_第3页
vb多窗口浏览器.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

vb制作简单的多窗口浏览器之前由于做自动考勤的时候接触到了webbrowser这个东西,于是打算进行更深入一点的操作.制作一个简单的VB多窗口浏览器.普通的VB浏览器网上有太多的资料了.如果想知道用VB做浏览器的基础知识,那么可以搜索一下这方便的内容.这里的多窗口,我用的是SSTAB来进行实现的.制作之前,先了解一下自己究竟想实现浏览器的哪些功能?平时我是用TW的,一般菜单上用得到的几个东西.1.显示源代码2.打印3.设置4.收藏夹其他的罗里罗嗦的东西,几乎都没用到或者都不需要调整,所以菜单栏可以去除了.占着空间浪费.然后轮到工具栏,也就是有图标按钮那一;排,基本上用到的是1.后退2.前进3.恢复刚关闭的页面4.主页5.URL输入框6.搜索框7.添加/关闭新页 基本上关闭页面我都是DOUBLE CLICK的,但在这里我还是做了一个按钮去除停止,刷新等按钮.再然后CTRL+T加载多标签页sstab,进度条progress,以及状态栏statusbar这三个控件最后,按照需要,构建自己的form如下:(加载了skinactive.ocx的一个默认skin)框架都搭好了,现在开始主要是代码了.先定义变量一共打开多少页 Dim totalpage As Integer 当前页 Dim activepage As Integer Dim i As Integer 删除了多少页 Dim delflag As Integer 显示多少页 Dim display As Integer 按钮不闪烁 Dim noflash As Integer接下来是form_loadPrivate Sub Form_Load() Dim tmpstr As String activepage = 0 totalpage = 1 display = 1 SSTab1.Tabs = totalpage 页面留白 WebBrowser1(activepage).Navigate about:blank 预设几个URL,方便测试 Combo1.AddItem () Combo1.AddItem () Combo1.AddItem () Combo1.AddItem () Combo1.AddItem () Combo1.AddItem () 于是几个label,方便测试 Label1.Caption = 总共 & totalpage & 显示 & display Label2.Caption = 当前 & activepage Label3.Caption = 删除 & delflag SSTab1.ZOrder 1 Picture29.ZOrder 0 Picture30.ZOrder 0 StatusBar1.ZOrder 0 ProgressBar1.ZOrder 0 状态栏初始化 StatusBar1.Panels(1).Width = 7700 StatusBar1.Panels(1).Bevel = sbrNoBevel StatusBar1.Panels.Add (2) StatusBar1.Panels(2).Width = 1000 StatusBar1.Panels(2).Bevel = sbrNoBevel StatusBar1.Panels(2).Text = 当前时间: StatusBar1.Panels.Add (3) StatusBar1.Panels(3).Width = 1000 StatusBar1.Panels(3).Bevel = sbrNoBevel StatusBar1.Panels(3).Style = sbrDate StatusBar1.Panels.Add (4) StatusBar1.Panels(4).Width = 700 StatusBar1.Panels(4).Bevel = sbrNoBevel StatusBar1.Panels(4).Style = sbrTime StatusBar1.Panels.Add (5) StatusBar1.Panels(5).Width = 2700 StatusBar1.Panels(5).Bevel = sbrNoBevel StatusBar1.Panels.Add (6) StatusBar1.Panels(6).Width = 900 StatusBar1.Panels(6).Bevel = sbrNoBevel StatusBar1.Panels(6).Picture = Picture29.Picture StatusBar1.Panels(6).Text = 普通读取ini默认引擎 a = ReadIni(./gr.ini, conf, searchengin, tmpstr, 10) If tmpstr = 1 Then Text1.Text = Baidu Search Else Text1.Text = Google Search End If Text1.ForeColor = 皮肤定义 Skin1.LoadSkin skin/wmac.skn Skin1.ApplySkin Me.hWndEnd Sub至少这个form_load目前来说功能是够了,接下来加入form_resizePrivate Sub Form_Resize() 窗口大小最小限制 If Me.Width 13000 Then Me.Width = 13000 If Me.Height 3000 Then Me.Height = 3000 If Me.WindowState 1 Then Combo1.Width = Me.Width - 11730 Picture6.Left = Me.Width - 3530 Text1.Left = Me.Width - 3000 Picture3.Left = Me.Width - 800 SSTab1.Width = Me.Width - 120 SSTab1.Height = Me.Height - 1100 For i = 0 To totalpage - 1 If DoesControlExist(WebBrowser1(i) Then WebBrowser1(i).Top = 340 WebBrowser1(i).Width = Me.Width - 120 WebBrowser1(i).Height = Me.Height - 1800 End If Next End If skin更新后需要调整 ProgressBar1.Top = Me.Height - 800End SubPS:这里的resize不包括statusbar上的东西,因为目前正在做statusbar.制作到现在碰到的最大的难点在于SSTAB这个东西上,我的多窗口的做法是在每一个SSTAB.TAB上生成一个WEBBROWSER,当然,这个 webbrowser先定义成控件组.这样就形成了一个sstab.tab(i)对应一个webbrowser(i),做窗口操作的时候比较好处理.可以在上文看到,还有一个display的变量,它是来做什么的呢?新建窗口的时候怎么处理?关闭窗口的时候又是怎么处理呢?这些当初困扰了我好久,逻辑有的,写的时候却经常犯下小失误.先来谈谈新建窗口. 判断此次新建窗口是否要闪烁按钮 If noflash 1 Then Picture1.Picture = Picture15.Picture End If 总页面变量加1 totalpage = totalpage + 1 设置当前页的变量为总页面数-1,新页面总是在尾部添加标签 activepage = totalpage - 1 将页面总数赋予sstab的tab数 SSTab1.Tabs = totalpage 当前显示的页面加1 display = display + 1 调整标签宽度 If display 6 Then SSTab1.TabsPerRow = display Else SSTab1.TabsPerRow = 6 End If 判断尾部是否有隐藏的标签,有的话调整当前页位置向后移,暂定总页面数100页, 虽然这个页面数包括被关闭的标签数量,但是在正常情况下应该够了. For i = activepage To 100 If SSTab1.TabVisible(i) = True Then activepage = i SSTab1.Tab = activepage Exit For End If Next Load WebBrowser1(WebBrowser1.ubound + 1) 动态建立新的webbrowser控件 Load WebBrowser1(activepage) 添加sstab超过perRow时top的自动位移 For i = 0 To totalpage - 1 If DoesControlExist(WebBrowser1(i) Then WebBrowser1(i).Top = 340 WebBrowser1(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论