程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 在VB中制作單獨程序封面的兩種方法

在VB中制作單獨程序封面的兩種方法

編輯:VB綜合教程
這裡所謂的單獨封面,是只獨立應用程序窗口本身的一個窗口,這個窗口在程序運行時首先彈出屏幕,用於裝飾程序本身,或簡單的演示一下程序的優越性。這樣的封面在很多專業的WINDOWS程序中均存在,在VB中可有兩種簡單的方法實現這一功能。
  第一種方法:多窗體編程方法
  此方法是通常采用的方法,即在程序中創建兩個或兩個以上的Form窗體,把其中的一個作為專門的程序封面制作場所,具體方法:
  1、創建一個新項目Form1,並在此窗體內安放Command1命令按鈕,在Command1-Click()事件中輸入結束程序代碼“END”。

2、單擊菜單的“Insert"項目,加入一個新窗體Form1。

3、雙擊Form1窗體空白處,在Form1-Load()事件中輸入如下代碼,用於隱藏主窗體Form1,置第二窗體為最大模式,並在運行程序首先顯示和二窗體:
  PrivateSubForm-Load()’隱藏主窗口
  Form1.Visible=0’窗口2最大模式
  Form2.WindowState=2’顯示窗口2
  Form2.Show
  EndSub

4、在窗體Form2中定義全程變量:
  Dimstrr1AsString
  DimiAsInteger

5、在窗體Form2中放入一個時間控件Timer1。

6、在窗體Form2中的Form-Load()事件中輸入以下代碼,用於在窗體2中顯示圖像,並置時間控件頻率:
  PrivateSubForm-Load()
  Form2.Picture=LoadPicture("c:windowssetup.bmp")
  Timer1.Interval=10
  i=0
  EndSub

7、在時間控件Timer1-Timer1()事件中進行程序封面的制作工作,演示簡單的動畫,並控制此動畫運行一段時間後自動停止,關閉程序封面,返回程序主窗口;下面的代碼實現在一個圖片上隨機顯示字符串,顯示30次字符串後自動退出。
  PrivateSubTimer1-Timer()
  Strr1="程序封面演示“
  WithForm2
  .Font.Transparent=True’透明顯示字符
  .Font.Size=Rnd*30 10’隨機變化字號
  .Font.Italic=True’斜體有效
  .ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256)’隨機變化前景
  .FontName=Screen.Fonts(Rnd*7 14)’隨機變化字體
  EndWith
  hh=Form2.TextHehght(strr1)’取字符串高度
  ww=Form2.TextWidth(strr1)’取字符串寬度
  x=Rnd*(Form2.ScaleWidth-ww)’隨機改變坐標
  y=Rnd*(Form2.ScaleHeight-hh)
  Form2.CurrentX=x
  Form2.CurrentY=y
  Form2.Printstrr1’顯示字符
  i=i 1’計數
  Ifi>30Then
  UnloadMe’關閉封面
  Form1.Show’調入主窗口
  Timer1.Enabled=False’關閉時間控件
  EndIf
  EndSub
   
  8、為了能夠人為地控制程序封面的停留時間,可在窗體Form2鼠標單擊事件中安放退出封面代碼:
  PrivateSubForm-Click()
  UnloadMe
  Form1.Show
  Timer1.Enabled=False’關閉時間控件
  EndIf
  EndSub
  至此工作全部完成,當運行程序時,首先彈出程序封面,封面上顯示一幅。BMP圖像,之後在此圖像上進行隨機字符串的顯示,字符串的位置、字體、字號、前景色等值都是隨機變化的,顯示30次後自動關閉封面返回主窗口,演示過程中用鼠標單擊窗口也會返回主窗口,在主窗口中按下結束按鈕退出程序。具體操作時還有很多其它技巧,比如可以置第二個窗體為主窗體,這樣運行時可自動先彈出程序封面,可省略隱藏窗體和調入窗體的過程,另外第二窗體也可以在程序運行時由代碼動態生成,這樣編程時復雜一些,但有利於程序代碼的管理;程序封面的具體制作過程,有許多動態圖像控制方法可以使用,只要靈活動用VB的作圖方法,再加上一些必要的API函數的配合,會制作出理想的程序封面。
   
  第二種方法:隱藏控件方法
  多窗口編程存在著一定的復雜性,需要對多個窗體的·Frm文件進行管理,編碼時還需要頻繁地在多個窗口間進行轉換。實際上通過一個窗體也可以編制出類似的封面效果。基本原理就是在程序運行時首先通過VISIBLE屬性隱藏全部控件,然後在主窗體內進行程序封面設計和演示,延時一定時間再恢復所有控件的顯示,即達到了獨立程序封面的制作過程。由於窗體內的控件很多,逐一隱藏或顯示非常繁瑣,可采用容器控件簡化操作過程,即把控件全部放到Frame1等控件上,這樣只要執行Frame1.Visible=0,即可使其上面的所有控件隱藏起來。

c由於程序只涉及一個窗體,程序設計的大部分工作只是編碼過程,所以不再分步介紹。在窗體Form1中安放一個時間控件Timer1和一個容器控件Frame1,再在Frame1上安放一個命令按鈕Command1,具體程序設計時可把所有主程序工作控件放在Frame1上;之後把下面的代碼填入相應的事件之中即可完成全部程序設計工作。運行此程序後首先在全屏幕窗體內顯示圖像,並從左上角開始逐漸放大字符串“程序封面演示”,放大過程中顏色發生平滑變化,形成美麗的拖尾效果,連續顯示5次後自動關閉封面,返回主程序窗口,同樣立即關閉程序封面,返回主程序窗口,單擊主窗體中的命令按鈕退出程序。

’定義全程變量
  Dimi,jAsInteger
  ’退出程序按鈕
  PrivateSubCommand1-Click()
  End
  EndSub

’單擊窗體關閉封面
  PrivateSubForm-Click()
  Frame1.Visible=1’恢復容器控件
  timer1.Enabled=False’關閉時間控件
  Form1.WindowState=0’恢復缺省窗口模式
  EndSub

’准備工作
  PrivateSubForm-Load()
  Form1.WindowState=2’窗口最大化
  Frame1.Width=Form1.Width’調整容器控件尺寸
  Frame1.Height=Form1.Height
  Frame1.Top=0’調整容器控件位置
  Frame1.Left=0
  Frame1.Visible=0’隱藏容器控件
  timer1.Interval=10’置時間頻率
  Form1.Picture=LoadPicture("c:windowssetup.bmp")’裝入圖像
  Form1.ScaleMode=3’置坐標刻度
  Form1.FontName=“黑體”’置字體名稱
  EndSub

’封面制作(動畫演示)
  PrivateSubtimer1-Timer()
  Strr="程序封面演示"
  WithForm1’透明顯示
  .Font.Transparent=True
  .Font.Size=i 1’放大字號
  .Font.Italic=True’斜體有效
  .ForeColor=RGB(i*3,56,256-i*3)’平滑變化顏色
  EndWith
  string=strr
  Form1.CurrentX=i’連續改變坐標
  Form1.CurrentY=i
  Form1.Printstringg’顯示字符串
  i=i 1
  Ifi>72Then’放大到72號字
  j=j 1’循環計數
  i=0
  Form1.CurrentX=72
  Form1.CurrentY=72
  Form1.ForeColor=RGB(255,56,0)’重新顯示一次字符
  Form1.Printstringg
  EndIf
  Ifj=5Then’動畫計數
  Frame1.Visible=1’顯示容器控件
  timer1.Enabled=False’關閉時間控件
  Form1.WindowState=0’恢復窗口模式
  EndIf
  EndSub->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved