如何用Visual Basic美化应用界面?

  VB是大家常用的编程软件,我们在关心代码的同时不可忽视的一点是界面的美化,爱美之心人皆有之嘛,一个好的应用程序也是该有一个整洁干净的软件界面的,怎么实现呢?其实用VB就可以了。

软件推荐:Visual Basic下载
(电脑版)

  首先新建一个EXE工程,再在窗体上拖几个Label控件,看看Label的强大功能吧,原理就是利用Label来模拟一个按钮,但是首先要将Label控件的属性要调一下,

  Name:LblBTn,

  BorderStyle:1,

  Appearance:0,

  Alignment:2,

  这样一个按钮的雏形就已经出来了,如果工程量很大,可以将多个Label控件的Name属性设为一样的,对于按钮的识别就要靠识别Index属性了,为了方便起见,在进入到代码编辑窗口,输入以下代码:

  PrivateConstLBL_BACK_COLOR=&HE0E0E0’正常时Label控件的背景色

  PrivateConstLBL_WHEN_MOUSE_MOVE=&HC0C0C0’鼠标移动时Label的背景色

  PrivateConstLBL_WHEN_MOUSE_DOWN=&H808080’鼠标按下时Label的背景色

  再在Form的Load事件中输入以下内容

  PrivateSubForm_Load()

  DimCountAsInteger

  ForCount=0To3’请将此出的3换成你的LblBTn数量的个数-1

  LblBtn(Count).BackColor=LBL_BACK_COLOR’初始化LblBTn的背景

  NextCount

  EndSub

  然后再在LblBTn的MouseMove和MouseDown事件中来搞定剩余部分:

  PrivateSubLblBtn_MouseDown(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)’当鼠标按在LblBTn上时

  LblBtn(Index).BackColor=LBL_WHEN_MOUSE_DOWN’临时改变LblBTn背景颜色

  EndSub

  PrivateSubLblBtn_MouseMove(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)’鼠标在LblBTn上面移动时触发该事件

  DimCountAsInteger

  DoEvents’暂时将系统控制权教给系统

  IfButtonThenExitSub’如果按钮被按下就退出该过程

  ForCount=0To3

  IfCount<>IndexThen’如果按下的不是其它按钮

  LblBTn(Index).BackColor=LBL_BACK_COLOR’将背景设为正常

  Else

  LblBTn(Index).BackColor=LBL_WHEN_MOUSE_MOVE’将背景设为鼠标移动的背景

  EndIf

  NextCount

  EndSub

  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

  DimCountAsInteger

  DoEvents

  ForCount=0To3

  LblBTn(Count).BackColor=LBL_BACKCOLOR’恢复背景

  NextCount

  End

  本来利用Windows的消息系统来完成这一“艰巨”的任务最简单,可问题就来了,Label控件没有窗口句柄怎么办?

  OK,Label控件就讲到这里,在来说说TextBox控件,

  各位恐怕看惯了白颜色的背景,那么今天就换换颜色吧。可是VB提供的RGB函数弄出来的颜色不是怎么好看,这里小编来教大家一个小Tip,RGB函数的Red,Green,Blue这三个参数若一样,则产生的颜色是灰度,当然越接近白颜色越好,但也不能让各位看不出来,建议TextBox的背景为RGB(235,235,235),各位还是实战一下,将一个TextBox拖到窗体上,属性设置如下

  Appearance0

  BorderStyle1

  MutilLineTrue

  千万不要设置ScrollBars属性,否则会影响效果

  在Form的Load事件中初始化TextBox

  DimbkColorAsLong

  PrivateSubForm_Load()

  bkColor=RGB(235,235,235)

  Text1.BackColor=bkColor

  EndSub

  在Form和Text1的MouseMove事件中:

  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

  Text1.BorderStyle=0

  EndSub

  PrivateSuBText1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

  DoEvents

  Text1.BorderStyle=1

  EndSub

  在按下F5试试是不是很Cool?

如何用Visual Basic美化应用界面?

相关文章:

你感兴趣的文章:

标签云: