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毫秒