VB 版 (精华区)

应用程序编制实例之八
用VB实现浮动按纽
在微软的很多软件(如WORD)的工具栏中,都采用一种浮动按纽,即正常情况下按纽的

标呈灰色,当鼠标移动到某一按纽时,该按纽自动向上凸起且变为彩色,并在按纽的右

方有一标签提示该按纽的功能,鼠标移开后又自动还原,这种按纽用VB实现时,方法如
下:
 1.先用绘图工具作出按纽图标后存盘(如1.bmp),再用图象处理软件将该图标转换为

   度图或浮雕图后再存盘(如2.bmp)。
 2.运行VB,建立一新窗体(如form1)。
 3.在窗体上需要建立按纽的位置处建立一图片框(如image1),其大小和图标相同,并

   其picture属性设为2.bmp。
 4.在image1周围建立由四个长度相同的line控件(如line1~4)组成的方框,方框要比
image1
   控件稍大,否则达不到预计效果,将上面和左边的颜色设成白色,下面和右边的设成
黑色,
   并将四个line控件的visible属性都设成false 。
 5.在程序中加入以下内容即可:
 Private Sub Image1_MouseMove(Botton As Integer,Shift As Integer,X As Single
,Y As Single)
   Image1.Picture=LoadPicture("c:\1.bmp")
   Line1.Visible=True
   Line2.Visible=True
   Line3.Visible=True
   Line4.Visible=True
 End Sub
 Private Sub Form1_MouseMove(Botton As Integer,Shift As Integer,X As Single,
Y As Single)
   Image1.Picture=LoadPicture("c:\2.bmp")
   Line1.Visible=False
   Line2.Visible=False
   Line3.Visible=False
   Line3.Visible=False
 End Sub
VB编程如何控制I/O口
VB没有提供直接读写I/O口的方法。所以只能借助其他语言来编写DLL,然后在VB中调用

如果要在WINDOWS 3.X下读写端口,也可以下载ftp://ftp.winsite.com/pub/pc/win3/
/programr/vbasic/portz10.zip,它是一个免费的VBX,可以通过读写VBX的属性来实现

读写端口的操作,十分方便。
如果你在WINDOWS下使用过C/C++,那么编写这样的DLL可能没有什么困难。在C语言里都

包括inp和outp函数。可以把下面这段C语言代码(32位)编译生成DLL,然后在VB中调
用。
    #include <conio.h>
    #include <windows.h>
    /*作用:从指定端口读入一个字节
      参数:portid端口号
      返回值:读入的字节*/
    int _stdcall Inport(short portid)
    {
      return inp(portid);}
    /*作用:向指定端口写入一个字节
      参数:portid端口号*/
    void _stdcall output(short portid,short byte)
    {
      outp(portid,byte);}
    /*作用:从指定端口读入一个字节
      参数:portid端口号
      返回值:读入的字节*/
    int _stdcall Inportw(short portid)
    {
      return inpw(portid);}
    /*作用:向指定端口写入一个字节
      参数:portid端口号*/
    void _stdcall Outportw(short portid,short word)
    {
      outpw(portid,(unsigned short) word);}
    注意:这种方法只能用于WINDOWS 95,不能用于Windows NT。
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.587毫秒