思绪膨胀,做出龙飞凤舞,怪诞异常的程序启动界面(VB6.0)[已完
很多软件都有程序启动界面,我在这就找到了2个比较特别的给大家看看:
这是VS2010旗舰版的启动界面,大家留意他的底部,是不规则的。
这是PS CS5的启动界面,整个界面呈现完全的不规则,很飘逸。
可是啊,我上来不是给大家看图片的,没错,教你如何用VB6.0做出各种各样奇形怪状的启动界面。 首先,我先介绍一下程序需要使用那些API函数,也不多: 1. Public Declare Function CreatePolygonRgnLib "gdi32" (lpPointAs POINTAPI,ByVal nCountAs Long,ByVal nPolyFillModeAs Long)As Long
功能:创建一个由一系列点围成的区域。windows在需要时自动将最后点与第一点相连以封闭多边形 参数:
2. Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1As Long,ByVal Y1As Long,ByVal X2As Long,ByVal Y2As Long)As Long
3. Public Declare Function CreateRoundRectRgnLib "gdi32" (ByVal X1As Long,ByVal Y2As Long,ByVal X3As Long,ByVal Y3As Long)As Long
功能:创建一个圆角矩形,该矩形由X1,Y1-X2,Y2确定,并由X3,Y3确定的椭圆描述圆角弧度
4. Public Declare Function FillRgnLib"gdi32" (ByVal hdcAs Long,ByVal hRgnAs Long,ByVal hBrushAs Long)As Long
5. Public Declare Function DeleteObjectLib "gdi32" (ByVal hObjectAs Long) As Long
6. Public Declare Function CreateEllipticRgnLib "gdi32" (ByVal X1As Long,ByVal Y2As Long)As Long
功能:创建一个椭圆,该椭圆与X1,Y1和X2,Y2坐标点确定的矩形内切
7. Public Declare Function SetWindowRgnLib "user32" (ByVal hWndAs Long,ByVal bRedrawAs Boolean)As Long
功能:更改窗口的形状 参数:
8. Public Declare Function CombineRgnLib "gdi32" (ByVal hDestRgnAs Long,ByVal hSrcRgn1As Long,ByVal hSrcRgn2As Long,ByVal nCombineModeAs Long)As Long 功能:将两个区域组合为一个新区域 参数:
9. Public Declare Function CreatePatternBrushLib "gdi32" (ByVal hBitmapAs Long) As Long
功能:用指定了刷子图案的一幅位图创建一个刷子 参数:hBitmap :Long,指向一幅位图的句柄。如指定了单色位图,文本和背景色就会在图案中使用
10.
功能:用纯色创建一个刷子 参数:crColor :Long,数字的RGB彩色
【这里继续:】
好了,别的不多说,进入教程。 第一章:设计区域,修改窗体形状
第一步:首先,启动VB6.0,选择标准EXE工程,然后添加一个模块,将以下的声明粘贴到模块中,这些就是以后程序中要用到API函数,以后所有的修改都是使用这个模块。 VB代码开始: Public Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI,ByVal nCount As Long,ByVal nPolyFillMode As Long) As Long Public Type POINTAPI Public Type RECT Public Const RGN_AND = 1 VB代码结束 第二步,将窗口拉大,拉成长明显大于宽的长方形。再将窗口的BackColor属性设置成&H0000FF00&(绿色)。最后双击窗体,打开代码窗口,在Load事件中加入如下代码: VB代码开始: Dim Rgn1,Rgn2,Rgn3 As Long,PicBrush As Long VB代码结束 上面的注释说的很清楚,外加最上面的函数介绍,我相信代码并不需要我多解释。一个区域,是依照窗体的相对坐标(必须是VB默认的窗体坐标)来创建的。因为窗体的左上角是(0,0),所以我们将区域退出一点,就将左上角设置为(5,5)。而CombineRgn函数则是将两个区域进行组合创造出不规则的区域。其实,必须纠正的一个概念是,一开始,区域是看不到的(透明的),也不存在于任何一个坐标系中。我上面那样说是为了大家好理解,只有在用了如SetWindowRgn这样的函数,将某一个区域用到某一个对象时,这个区域的坐标系才依附于对象的坐标系。 好了,运行一下,看到的结果如图所示: 这里的灰色其实背后的颜色,就是说灰色的部分其实是透明的,随背景而变,而绿色才是原来的窗体(因为窗体的BackColor属性设置成了绿色。 这个图案够独特吧,不过还少一点什么,就是字,那么没关系,用一些标签控件弄点字上去实在简单不过的了。我上面已经说了区域的运作方式,那么就请个自己算准那里是不透明的窗体,那里是透明的背景,然后在不透明的窗体部分上放控件来显示文字了。而如果你在透明的背景区域上放控件,那么放了也是白放,自己算好了。而且记住,标签控件的BackStyle属性一定要设置成0(透明)。下面是我自己设计的(在VB中,还没运行): 而那些黑色线的椭圆,是我用Shape控件做出来的,目的就是确定那里是透明的背景,那里是不透明的窗体,紧记要将Shape控件的Visible属性设成False,因为这些Shape控件仅作参考。也好了,运行一下: 同样,灰色的是背景,绿色的是窗体,一个自己的PhotoShop CS5的启动界面就出来了。做自己的软件,在标签上打上自己的软件名。OK,张扬我个性,龙飞凤舞去吧。 第二章:“填充区域成不同的颜色,和用图片填充背景”(在另一篇博文上) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |