 |
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才會更有趣~
############################# |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|