VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

多種表單特效(轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作