不規則 button 的元件. |
答題得分者是:skcc
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
|
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
引言: 想請教大家的使用經驗, 3rd Party 中, 不管要不要錢, 可用於 BCB5 or later 的不規則 button 元件那個最值得推薦. Jesse Chan以下為自製橢圓形按鈕元件的方法: Header: class PACKAGE TEllipseButton : public TButton { private: protected: BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER(WM_CREATE,TMessage , Create) END_MESSAGE_MAP(TButton) public: __fastcall TEllipseButton(TComponent* Owner); virtual void __fastcall Create(TMessage &Msg); __published: };Cpp: static inline void ValidCtrCheck(TEllipseButton *) { new TEllipseButton(NULL); } __fastcall TEllipseButton::TEllipseButton(TComponent* Owner) : TButton(Owner) { } namespace Ellipsebutton { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid(TEllipseButton)}; RegisterComponents("Anthony", classes, 0); } } void __fastcall TEllipseButton::Create(TMessage &Msg) { //TODO: Add your source code here HRGN h_rgn; h_rgn = CreateEllipticRgn(0, 0, Width, Height); SetWindowRgn(Handle, h_rgn, true); }以 package 形式 install,開另一個新專檔,把 TEllipseButton 元件置入使用即可! 註:其他形狀,請查看 Help 中 API 繪製。 Anthony Lee |
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
以 TBitBtn 元件亦可做圖角按鈕:
1. 置入 TBitBtn 元件到 Form 中,
2. 假設你有一圖,如:
3. 把 BitBtn1 的屬性分別設為:Width=50; Height=49; Glyph=(上述 BitMap); NumGlyps=4;
4. 加入以下 Code。
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { HRGN hRoundRectRegion1 = CreateRoundRectRgn( 0, 0, BitBtn1->Width+1, BitBtn1->Height+1, 14, 14 ); SetWindowRgn( BitBtn1->Handle, hRoundRectRegion1, TRUE ); ..即成! Anthony Lee 發表人 - skcc 於 2002/12/31 14:15:07 |
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
|
Cooky Kid
初階會員 發表:5 回覆:68 積分:44 註冊:2002-07-11 發送簡訊給我 |
引言: 想請教大家的使用經驗, 3rd Party 中, 不管要不要錢, 可用於 BCB5 or later 的不規則 button 元件那個最值得推薦. Jesse Chan如果實在找不到現成的元件, 請參考keenn大大整理的純手工不規則外框大成 ( http://forum.vclxx.org/topic.php?TOPIC_ID=12875&FORUM_ID=12&CAT_ID=3&Topic_Title=ActiveSkin%2C%A7%EF%C5%DCForm%A5%7E%AB%AC%2C+%BA%7D%ABG%A4%B6%AD%B1%2E%2E%2E%A7%B9%BE%E3%B8%D1%B5%AA%7E&Forum_Title=C%2B%2B ) good luck!!! |
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |