用VisualBasic設計窗體背景花紋

字號:

在開發(fā)軟件過程中,界面的美觀程度是軟件商品化程度的一個重要因素。本文介紹一種窗體背景花紋的實現(xiàn)方法,為此,可以方便靈活地設計出富有立體感的美麗的背景。
    1.新建窗體Form1,屬性如下:
    Caption=“背景花紋的實現(xiàn)”
    Borderstyle=3(無、最小化按鈕)
    2.建網(wǎng)格控件Grid1,它的位置和大小將在程序中設置(與Form1同樣大),屬性為:
    Enabled=False(焦點不會落在網(wǎng)格控件Grid1上)
    Fillstyle=1(改變所有單元Text特性)
    Fixedcols=0(無固定行)
    Fixedrows=0(無固定列)
    Gridlines=False(網(wǎng)格行不可見),
    Visible=True
    3.建立圖象控件Picture1,程序運行時將背景花紋基本圖案放入其中,屬性為:
    Visible=False(不可見)
    Autosize=True(自動調(diào)整大?。?BR>    4.控件中加入Sheridan3DControls,選取其中的三維命令按鈕SSCommand,建立兩個按鈕:
    SSCommand1.Caption=“退出”
    SSCommand2.Caption=“更換背景”(演示不同的背景圖案)
    它們的屬性Picture可調(diào)用與背景相同或不同的圖案,如果使用普通的命令按鈕控件Command也可,只是命令按鈕無背景圖案。
    5.建立背景圖案形成子程序:
    DimpictfileAsString'位圖文件名
    DimFILEPATHAsString'文件路徑
    SubBackpict(pictfile)
    picture1.ScaleMode=3
    Form1.ScaleMode=3
    picture1.Picture=LoadPicture(pictfile)
    '網(wǎng)格控件覆蓋整個窗體背景
    grid1.Top=-1
    grid1.Left=-1
    grid1.Width=Width
    grid1.Height=Height
    grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth)1
    grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight)1
    '所有單元大小等于基本圖案大小
    ForI=0Togrid1.Cols-1
    Forj=0Togrid1.Rows-1
    grid1.ColWidth(I)=picture1.ScaleWidth*15
    grid1.RowHeight(j)=picture1.ScaleHeight*15
    Nextj
    NextI
    '選定所有單元
    grid1.SelStartCol=0
    grid1.SelStartRow=0
    grid1.SelEndCol=grid1.Cols-1
    grid1.SelEndRow=grid1.Rows-1
    grid1.Picture=Picture1.Picture
    EndSub
    6.窗體主程序:
    PrivateSubForm_Load()
    '得到運行程序路徑名,路徑名后帶反斜杠
    IfRight(App.Path,1)<>""Then
    filePath=App.Path&""
    Else
    filePath=App.Path
    EndIf
    '窗體初始顯示由Tiles.bmp基本圖案組成的背景
    pictfile="c:windowsTiles.bmp"
    backpict(pictfile)
    EndSub
    7.退出程序命令按鈕:
    PrivateSubSSCommand1_Click()
    End
    EndSub
    8.演示不同的底紋圖案:本文選取了WindowsTiles.bmp圖,讀者也可以選取自己喜愛的其它圖形。代碼如下:
    PrivateSubSSCommand2_Click()'兩種背景圖案交替演示
    Ifpictfile=filePath&"Pict1.bmp"Then
    pictfile="c:windowsTiles.bmp"
    Else
    pictfile=filePath&"Pict1.bmp"
    EndIf
    Backpict(pictfile)
    EndSub