  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		Ruey
 
 
  註冊時間: 2003-03-12 文章: 1698 來自: tunglo
  第 1 樓
  | 
		
			
				 發表於: 星期五 一月 16, 2004 8:21 pm    文章主題: 多種表單特效(轉貼) | 
				     | 
			 
			
				
  | 
			 
			
				發表日期:2003年11月1日   出處:http://youhooo.yeah.net    作者:油城獵狐
 
 
在使用Visual FoxPro 5.0編制應用程式時,‘表單’大概是最常用的組成部份,然而,時間一久,自然會有點厭了它那個一閃即現、轉眼即逝的風格。筆者於是試著改變表單的啟動和關閉的方式,效果還算不錯,有興趣的讀者不妨一試。 
 
    首先要進入Visual FoxPro 5.0系統環境中,建立一個新的表單(Form1),然後再在表單上建立一個‘計時器’控制項(Timer1),設置Timer1的InterVal屬性為100ms。接下來的工作就是為表單和計時器控制項加入事件回應的代碼:
 
1.	啟動表單 
 
1.	由左至右展開表單。 
 
Form1的Load方法:
 
Public F_wid,I
 
F_WID = Thisform.Width
 
Thisform.Width = 0
 
I = 104
 
Timer1的Timer方法:
 
If I > F_wid
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Width = I
 
I = I + 10
 
2.	由右至左展開表單。 
 
Form1的Load方法:
 
Public F_wid,I
 
F_wid = Thisform.Width
 
Thisform.Left = Thisform.Left + F_wid - 104
 
Thisform.Width = 0
 
I = 104
 
Timer1的Timer方法:
 
If I >= F_wid
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Left = Thisform.Left - 10
 
Thisform.Width = I
 
I = I + 10
 
3.	由上至下展開表單。 
 
Form1的Load方法:
 
Public F_hei,I
 
F_hei = Thisform.Height
 
Thisform.Height = 0
 
I = 0
 
Timer1的Timer方法:
 
If I >= F_hei
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Height = I
 
I = I + 10
 
4.	由下至上展開表單。 
 
Form1的Load方法:
 
Public F_hei,I
 
F_hei = Thisform.Height
 
Thisform.Height = 0
 
Thisform.Top = Thisform.Top + F_hei
 
I = 0
 
Timer1的Timer方法:
 
If I >= F_hei
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Top = Thisform.Top - 10
 
Thisform.Height = I
 
I = I + 10
 
5.	由左上角向右下角展開表單。 
 
Form1的Load方法:
 
Public F_hei,F_wid,I
 
F_hei = Thisform.Height
 
F_wid = Thisform.Width
 
Thisform.Height = 0
 
Thisform.Width = 0
 
I = 0
 
Timer1的Timer方法:
 
If I >= F_hei
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Height = I
 
Thisform.Width = I * F_wid / F_hei
 
I = I + 10
 
6.	由左下角向右上角展開表單。 
 
Form1的Load方法:
 
Public F_hei,F_wid,I
 
F_hei = Thisform.Height
 
F_wid = Thisform.Width
 
Thisform.Height = 0
 
Thisform.Width = 0
 
Thisform.Top = Thisform.Height + F_hei
 
I = 0
 
Timer1的Timer方法:
 
If I >= F_hei
 
Thisform.Timer1.Enabled = .F.
 
Return
 
Endif
 
Thisform.Top = Thisform.Top - 10
 
Thisform.Height = I
 
Thisform.Width = I * F_wid / F_hei
 
I = I + 10
 
二、關閉表單
 
1、由左至右關閉表單。
 
Form1的Load方法:
 
Public F_wid,F_left
 
F_wid = Thisform.Width
 
F_left = Thisform.Left
 
Timer1的Timer方法:
 
If F_wid <= 100
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Width = F_wid
 
Thisform.Left = F_left
 
F_wid = F_wid - 10
 
F_left = F_left + 10
 
2、由右至左關閉表單。
 
Form1的Load方法:
 
Public F_wid
 
F_wid = Thisform.Width
 
Timer1的Timer方法:
 
If F_wid <= 104
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Width = F_wid
 
F_wid = F_wid - 10
 
1.	由下至上關閉表單。 
 
Form1的Load方法:
 
Public F_hei
 
F_hei = Thisform.Height
 
Timer1的Timer方法:
 
If F_hei <= 10
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Height = F_hei - 10
 
F_hei = F_hei - 10
 
4、由上至下關閉表單。
 
Form1的Load方法:
 
Public F_hei
 
F_hei = Thisform.Height
 
Timer1的Timer方法:
 
If F_hei <= 10
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Top = Thisform.Top + 10
 
Thisform.Height = F_hei
 
F_hei = F_hei - 10
 
5、由右上角向左下角關閉表單。
 
Form1的Load方法:
 
Public F_hei,F_wid,I
 
F_hei = Thisform.Height
 
F_wid = Thisform.Width
 
I = F_hei
 
Timer1的Timer方法:
 
If F_hei <= 10
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Top = Thisform.Top + 10
 
Thisform.Height = F_hei
 
Thisform.Width = F_hei * F_wid / I
 
F_hei = F_hei - 10
 
1.	由右下角向左上角關閉表單。 
 
Form1的Load方法:
 
Public F_hei,F_wid,I
 
F_hei = Thisform.Height
 
F_wid = Thisform.Width
 
I = F_hei
 
Timer1的Timer方法:
 
If F_hei <= 10
 
Thisform.Timer1.Enabled = .F.
 
Thisform.Release
 
Endif
 
Thisform.Height = F_hei
 
Thisform.Width = F_hei * F_wid / I
 
F_hei = F_hei – 10
 
    以上程式在Windows 95和Visual FoxPro 5.0中運行通過 _________________ #############################
 
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
 
 
學會VFP使用者社區的搜尋,Code才會更有趣~
 
############################# | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |