線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1388
推到 Plurk!
推到 Facebook!

輕輕鬆松在DELPHI3.0中實現三態按鈕

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-17 19:35:29 IP:61.221.xxx.xxx 未訂閱
輕輕鬆松在DELPHI3.0中實現三態按鈕 北京郵電大學福建分校 林穎 在許多新的軟體中都用到三態按鈕。所謂的三態按鈕就是當滑鼠還末移到時,按鈕顯示一種平面圖像(FLAT);當滑鼠移到按鈕時,按鈕呈現凸立體(UP);當滑鼠在按鈕上按下時,按鈕呈現凹立體(DOWN)。 由於DELPHI中有圖像按鈕,能夠實現UP和DOWN兩種狀態,因此只需增加FLAT狀態即可。筆者經過研究,發現有以下兩種方法。 1. 修改BITBTN上的GLYPH屬性. (1)當處於FLAT狀態時,GLYPH屬性設置爲圖像文件1,爲了讓按鈕只是平面地顯示,必須讓圖像文件1的尺寸大於按鈕的實際尺寸,按鈕就呈現平面狀,可以在 FORM的ONMOUSEMOVE事件上用以下函數實現: Bitbtn1.glyph.loadfromfile(‘檔案名1’); (2)當處於UP和DOWN狀態時,GLYPH設置爲圖像文件2。由於BITBTN構件本身就具有按鈕的特性,所以對圖像大小沒有特殊要求。可以在BITBTN1的ONMOUSEMOVE事件上用以下函數實現: Bitbtn1.glyph.loadfromfile(‘檔案名2’); 用這種方法實現的三態按鈕有一個明顯的不足,由於BITBTN1不斷地從圖像文件LOAD圖像資料,因此圖像一直閃爍不定,不但影響運行速度而且效果不佳。 2.修改IMAGE構件和BITBTN構件的VISIBLE屬性 在FORM的同一個位置設置大小完全相等的兩個構件IMAGE1和BITBTN1,由於一起動FORM時,顯示FLAT狀態,因此把IMAGE1的VISIBLE屬性初值設爲TRUE;把BITBTN1的VISIBLE屬性設爲FALSE。 (1)當處於FLAT狀態時,只顯示IMAGE1構件。即把IMAGE1的VISIBLE屬性設爲TRUE,把BITBTN1的VISIBLE屬性設爲FALSE。於是FORM的OMMOUSEMOVE事件上調用如下語句: IMAGE1.VISIBLE:=TRUE; BITBTN1.VISIBLE:=FALSE; (2)當處於UP或DOWN狀態時,把IMAGE1的VISIBLE屬性設爲FALSE;把BITBTN1的VISIBLE屬性設爲TRUE。因此在IMAGE1和BITBTN1的 ONCLICK事件上分別調用如下語句: IMAGE1.VISIBLE:=FALSE; BITBTN1.VISIBLE:=TRUE; 使用該方法雖然多用了一個構件,但是不必頻繁地裝載圖像資料,因此運行速度快,效果也很好。 以上是我在實踐的過程中發現的兩種比較簡單的方法,當然還有許多其他的方法也可以實現,願與各位讀者探討。 ********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-03-29 9:43:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!