在瀏覽網(wǎng)頁時,各種各樣制作精美的動態(tài)按鈕常常令人驚羨不已。這種按鈕平常默默無聞,當(dāng)鼠標(biāo)經(jīng)過時,立即一躍而出,在鼠標(biāo)變?yōu)槭中蔚耐瑫r,圖形也變得更加亮麗,有的還發(fā)出特有聲音,將你的注意力瞬間抓了過去;而當(dāng)鼠標(biāo)移開之后,一切又恢復(fù)原樣,以免分散你對新焦點的注意。如果我們能用C++ Builder實現(xiàn)這種效果,那么一定會給所開發(fā)的應(yīng)用程序增色不少。
在C++Builder中,適合制作動態(tài)按鈕的構(gòu)件是SpeedButton。雖然SpeedButton可以通過1個16×64像素的位圖來顯示按鈕處在抬起、禁止、按下與保持按下的不同狀態(tài),但要實現(xiàn)HTML風(fēng)格的按鈕,還得要通過編程來實現(xiàn)。
選擇1副所鐘意的位圖取名為start.bmp。用圖形制作軟件(如photoshop)將其轉(zhuǎn)換為黑白圖形存為start1.bmp。這2個位圖分別是按鈕在鼠標(biāo)經(jīng)過時及平時顯示的圖形。同時還選取1個聲音文件(不要太長),假設(shè)其名為crush.wav。
打開純文本編輯軟件(如notepad),輸入以下內(nèi)容:
crush WAV crush.wav
start BITMAP start.bmp
start1 BITMAP start1.bmp
保存為資源文件mysrc.rc。
啟動Builder,打開新工程,將資源文件mysrc.rc添加進項目中。你也可以通過BIN目錄下的brcc32.exe將RC文件編繹為RES文件,然后用 #program resource "*.res" 語句將其聯(lián)編進項目中。本文采用更簡單的前一種方法。
在當(dāng)前窗體上加入新的SpeedButton,取名為StartSpeedButton。屬性按下表設(shè)置:
Caption 空
Cursor crHandPoint
Flat true
Hint 單擊以…..
Glyph None
Showhint true
注意:在設(shè)計階段,按鈕的Glyph屬性不要先行指定為start1.bmp。
打開所對應(yīng)的頭文件,在其中的private項中增加
Graphics::TBitmap *start,*start1;//定義位圖
Char *chWavHandle;//定義聲音句柄
在主表單的CPP文件的表單創(chuàng)鍵事件(onCreate)所對應(yīng)的函數(shù)中先初始化位圖,
start=new Graphics::TBitmap();
start1=new Graphics::TBitmap();
初始化后再載入位圖
start->Handle=LoadBitmap(Hinstance, "start");//從內(nèi)存中載入位圖
start1->Handle=LoadBitmap(Hinstance, "start1");
在C++Builder中,適合制作動態(tài)按鈕的構(gòu)件是SpeedButton。雖然SpeedButton可以通過1個16×64像素的位圖來顯示按鈕處在抬起、禁止、按下與保持按下的不同狀態(tài),但要實現(xiàn)HTML風(fēng)格的按鈕,還得要通過編程來實現(xiàn)。
選擇1副所鐘意的位圖取名為start.bmp。用圖形制作軟件(如photoshop)將其轉(zhuǎn)換為黑白圖形存為start1.bmp。這2個位圖分別是按鈕在鼠標(biāo)經(jīng)過時及平時顯示的圖形。同時還選取1個聲音文件(不要太長),假設(shè)其名為crush.wav。
打開純文本編輯軟件(如notepad),輸入以下內(nèi)容:
crush WAV crush.wav
start BITMAP start.bmp
start1 BITMAP start1.bmp
保存為資源文件mysrc.rc。
啟動Builder,打開新工程,將資源文件mysrc.rc添加進項目中。你也可以通過BIN目錄下的brcc32.exe將RC文件編繹為RES文件,然后用 #program resource "*.res" 語句將其聯(lián)編進項目中。本文采用更簡單的前一種方法。
在當(dāng)前窗體上加入新的SpeedButton,取名為StartSpeedButton。屬性按下表設(shè)置:
Caption 空
Cursor crHandPoint
Flat true
Hint 單擊以…..
Glyph None
Showhint true
注意:在設(shè)計階段,按鈕的Glyph屬性不要先行指定為start1.bmp。
打開所對應(yīng)的頭文件,在其中的private項中增加
Graphics::TBitmap *start,*start1;//定義位圖
Char *chWavHandle;//定義聲音句柄
在主表單的CPP文件的表單創(chuàng)鍵事件(onCreate)所對應(yīng)的函數(shù)中先初始化位圖,
start=new Graphics::TBitmap();
start1=new Graphics::TBitmap();
初始化后再載入位圖
start->Handle=LoadBitmap(Hinstance, "start");//從內(nèi)存中載入位圖
start1->Handle=LoadBitmap(Hinstance, "start1");