VC++实现拨号上网程序

2016-02-19 18:43 25 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐VC++实现拨号上网程序,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

  在Office2000中,就用户界面丰富程度而论,Word以56个工具栏(Toolbar)、50个弹出式菜单(Popup Menu)雄居首位,但Excel(工具栏40个、弹出式菜单51个)和PowerPoint(工具栏43个、弹出式菜单25个)也相差不远。大多数用户可能从来没有见过所有这些工具栏,甚至许多用户不知道Office提供了这么多命令工具。

  虽然我们可以用菜单隐藏或显示一些工具栏,但这个菜单并没有列出全部的工具栏。对于Word,从菜单可以看到的工具栏稍微多几个,但仍远远不到56个。在Excel和PowerPoint也类似。那么,这些丢失的工具栏到哪里去了呢?如何才能看到这些工具栏?如何将这些工具栏显示到菜单中?

  一、工具栏背后的工具栏

  Office工具栏上的相当一部分按钮是所谓的下拉式按钮。单击这些下拉按钮会显示出子菜单。其中一部分子菜单比较特殊,上面带有灰色的横条(Microsoft称之为″移动把手”)。例如Word工具栏的按钮,单击它的小箭头并把鼠标移到移动把手上,灰条颜色变蓝并提示″拖动可使此菜单浮动”。按住移动把手可把菜单从工具栏拖下来,使之浮动,如图1所示。
  一旦菜单拖下来成为浮动的工具栏,菜单下会自动列出该工具栏;如果关闭该工具栏,则菜单下面的名字也不见了。因此,如果要再次显示这个工具栏,还是要重复原来的拖动过程。

  二、用宏显示隐藏工具栏

  大多数可以拖下来的菜单与画图或颜色功能相关,而且要从工具栏访问。下表给出其中一部分工具栏的标题及其名字:

  名字
  标题
  Fill Color
  填充颜色
  Line Color
  线条颜色
  Font Color
  字体颜色
  Shading Color
  底纹色
  Borders
  边框

  在宏中,可以通过名字访问这些菜单,或将这些菜单显示为浮动工具栏。例如,要显示工具栏,可以用如下命令:

  CommandBars(″Font Color″).Visible = True

  再举一个例子。如果经常要为Word文档加上彩色标注,则最好能快速访问、、和四个工具栏。可以写一个子过程:

  Sub ShowCalloutToolbars(OnOrOff As Boolean)
  CommandBars(″Callouts″).Visible = OnOrOff
  CommandBars(″Font Color″).Visible = OnOrOff
  CommandBars(″Line Color″).Visible = OnOrOff
  CommandBars(″Fill Color″).Visible = OnOrOff
  End Sub

  然后用如下两个命令分别显示和隐藏上述四个工具栏:

  ShowCalloutToolbars True
  ShowCalloutToolbars False

  当然,用宏来显示或关闭某些隐藏工具栏,在许多其他情形下也是很有帮助的,这些应用场合就有待读者自己去发现了。

  三、在菜单中列出隐藏工具栏

  如前所述,菜单是不显示隐藏工具栏的,也不存在定制该菜单加入额外工具栏的方法,但这并不是说我们不能将这些工具栏显示在自己创建的菜单中。接下来介绍的方法可以在菜单下面加上一个菜单。图2显示的是Word中的菜单,在其他Office应用中也相似。

  首先我们需要一个宏AutoExec,该宏在Word启动的时候自动运行,调用AddHiddenToolBarsOption,后者在视图菜单的下面增加 菜单。AutoExit在Word关闭的时候运行,调用RemoveHiddenToolBarsOption,删除菜单。

  Sub AutoExec()
  CustomizationContext = NormalTemplate
  AddHiddenToolBarsOption
  End Sub
  Sub AutoExit()
  CustomizationContext = NormalTemplate
  RemoveHiddenToolBarsOption
  End Sub
  Sub AddHiddenToolBarsOption()

  ' 在视图菜单的'工具栏'下面增加'隐藏工具栏'菜单项

  RemoveHiddenToolBarsOption
  With CommandBars(″View″)
  With .Controls.Add(Type:=msoControl弹出式, _
  Before:=.Controls(″工具栏(&T)″).Index + 1)
  .Caption = ″隐藏工具栏(&H)″
  .OnAction = ″ListHiddenToolbars″
  End With
  End With
  End Sub
  Sub RemoveHiddenToolBarsOption()
  On Error Resume Next
  CommandBars(″View″).Controls(″隐藏工具栏(&H)″).Delete
  End Sub

  ListHiddenToolbars在用户单击的时候运行,它的任务是:找出未在菜单列出的工具栏,用这些工具栏的标题构造的子菜单。

  Sub ListHiddenToolbars()
  Dim ExistingBars As String
  Dim TBar As CommandBar
  Dim Ctl As CommandBarControl
  Dim HiddenBarList As CommandBarControl
  Set HiddenBarList = CommandBars.ActionControl

  那么,它是如何得知哪一个工具栏该显示或隐藏呢?首先,对于已经显示在下的工具栏,ListHiddenToolbars用如下代码生成一个标题列表:

  With CommandBars(″View″).Controls(″工具栏(&T)″)
  For i = 1 To .Controls.Count - 1
  ExistingBars = ExistingBars & _
  .Controls(i).Caption & vbCr
  Next
  End With

  ' 清空新创建的子菜单

  For Each Ctl In HiddenBarList.Controls
  Ctl.Delete
  Next

  在这个For循环中,程序遍历菜单,在ExistingBars变量中保存所有已显示工具栏标题,各标题之间以vbCr分隔。(可以用其他字符分隔,但用vbCr有利于调试。)以后程序就可以利用ExistingBars来避免工具栏重复显示了。

  接下来执行的是下面这个Fox循环:

  For Each TBar In CommandBars
  If TBar.BuiltIn = True And _
  TBar.Type = msoBarTypeNormal And
  TBar.Enabled = True And _
  TBar.Visible = False And _
  InStr(ExistingBars, TBar.NameLocal & vbCr) = 0 Then
  With HiddenBarList.Controls.Add
  .Caption = Replace(TBar.NameLocal, ″&″, ″&&″)
  .Parameter = TBar.Name
  .OnAction = ″DisplayToolbar″
  End With
  End If
  Next
  ' 加入'自定义'命令
  With HiddenBarList.Controls.Add(ID:=797)
  .BeginGroup = True
  End With
  End Sub

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  这个For循环的任务是:遍历整个CommandBars集合,对于每一个CommandBar:

  1. 检查BuiltIn属性是否为True,以排除所有自定义工具栏。

  2. 检查Type属性是否为msoBarTypeNormal(即0),以排除菜单条(Menu Bar)、弹出式菜单,确保只显示那些″真正的”工具栏。

  3. Enabled属性值也必须为True,以保证只显示那些可用的菜单。例如不在全屏显示方式下时,工具栏是不应该显示的。

  4. 一些工具栏,如,即使它是可见的,其名字也不会显示在菜单下,因此还必须检查Visible属性是否为False。

  5. 最后,程序检查工具栏标题是否出现在ExistingBars中,若出现的话,说明该工具栏标题已经显示在菜单下面了。

  如果所有上述检查通过,就可以在子菜单下新增一个工具栏标题。前面代码中的最后一个With用于在子菜单的底部加上命令。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  从子菜单选择一个工具栏名字时触发DisplayToolbar过程。DisplayToolbar的功能是检查Parameter值(ListHiddenToolbars将它设置为工具栏名字),显示对应的工具栏。

  Sub DisplayToolbar()
  On Error Resume Next
  With CommandBars.ActionControl
  CommandBars(.Parameter).Visible = True
  If Err Then
  MsgBox ″不能显示″ & .Parameter, _
  vbExclamation, ″隐藏工具栏″
  End If
  End With
  End Sub

  最后,对于Excel和PowerPoint,要在菜单下显示类似的菜单,只需将Word中的AutoExec和AutoExit分别用下面的Auto_Open和Auto_Close替换即可:

  Sub Auto_Open()
  AddHiddenToolBarsOption
  End Sub
  Sub Auto_Close()
  RemoveHiddenToolBarsOption
  End Sub(浙江 俞良松)

来源:https://www.tulaoshi.com/n/20160219/1618791.html

延伸阅读
    要上网冲浪,kppp是Linux玩家必不可缺的拨号上网工具。在中文的Linux系统里,kppp使用界面已经足够傻瓜化,你只要根据你的机器设置做一些“填空练习”就了。但有时kppp的问题还是会令人莫名其妙,而modem会象傻瓜一样不为你的焦急所动。     也许你正准备求助Linux高手,其实在Linux这个DIY的系统里,只要...
SNMP(Simple Network Management Protocol)是基于TCP/IP的网络管理协议,关于其工作原理网上很多,百度一下或者看看MSDN,今天在这里记一下实现的步骤,本人工作环境是Windows XP professional SP2 + Microsoft Visual Studio .net 2003,不保证其他平台与本人的步骤一致。 一、安装SNMP服务 先查看系统中是否已经安装有SNMP...
滑动控件是Windows中最常用的控件之一。一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值。滑动控件在应用程序中用途级为广泛,如在桌面的属性中就可以看到。为此,让我们一起来看一下它的实现方法。 (...
标签: 电脑入门
用拨号上网时,有时候遇到电脑假死, 就是刚装了宽带的时候,电脑一开机出现拨号连接的时候电脑就死机, 其实电脑没有死机, 就是假死,要过上几分钟电脑自动好。没什么大问题,只是对于电脑初学者来说难免有一些惊慌。下面就给大家介绍拨号上网时电脑假死的解决方法。 造成这种拨号上网电脑假死的原因是, Windows XP在默认安装方式下,对网卡...
*假设调试机IP 192.168.0.182   远程机IP 192.168.0.161 *远程机为调试机分配权限,使调试机可以使用远程桌面登陆到远程机器上(这样调试起来方便)。 *调试机上安装visual studio .net 2003 共享调试机上的Visual Studio上的远程调试目录(以我的机器为例) C:Program FilesMicrosoft Visual Studio .NET 2003Common7PackagesDe...

经验教程

745

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部