开发软件过程中,界面的美妙程度是软件商品化程度的一个重要因素。本文引见一种窗体背景花纹的实现方法,为此,能够方便灵活地设想出富有立体感的美丽的背景。
1.新建窗体Form1,属性如下: Caption=“背景花纹的实现” Borderstyle=3(无最大、最小化按钮) 2.建网格控件Grid1,它的位置和大小将在程序中设置(与Form1同样大),属性为: Enabled=False(焦点不会落在网格控件Grid1上) Fillstyle=1(改变所有单元Text特性) Fixedcols=0(无固定行) Fixedrows=0(无固定列) Gridlines=False(网格行不可见), Visible=True 3.建立图象控件Picture1,程序运行时将背景花纹基本图案放入其中,属性为: Visible=False(不可见) Autosize=True(自动调整大小) 4.控件中加入Sheridan3DControls,选取其中的三维命令按钮SSCommand,建立两个按钮: SSCommand1.Caption=“退出” SSCommand2.Caption=“更换背景”(演示不同的背景图案) 它们的属性Picture可调用与背景相同或不同的图案,如果使用普通的命令按钮控件Command也可,只是命令按钮无背景图案。 5.建立背景图案形成子程序: DimpictfileAsString'位图文件名 DimFILEPATHAsString'文件路径 SubBackpict(pictfile) picture1.ScaleMode=3 Form1.ScaleMode=3 picture1.Picture=LoadPicture(pictfile) '网格控件覆盖整个窗体背景 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:\windows\Tiles.bmp" backpict(pictfile) EndSub 7.退出程序命令按钮: PrivateSubSSCommand1_Click() End EndSub 8.演示不同的底纹图案:本文选取了Windows Tiles.bmp图,读者也能够选取本人喜爱的其它图形。代码如下: PrivateSubSSCommand2_Click()'两种背景图案交替演示 Ifpictfile=filePath&"Pict1.bmp"Then pictfile="c:\windows\Tiles.bmp" Else pictfile=filePath&"Pict1.bmp" EndIf Backpict(pictfile) EndSub |
|