關於不規則的圖片按鈕 |
答題得分者是:aftcast
|
brian_chen
一般會員 發表:14 回覆:20 積分:6 註冊:2007-06-26 發送簡訊給我 |
在版上搜尋了不規則
發現大都是在講解如何產生不規則的form 但好像很少討論到不規則的圖片按鈕 最近剛好有興趣想要玩看看 想說把 form 那邊的程式碼套過來用應該就可以了吧 結果完全不行 一般form的寫法是 可參考這篇 http://delphi.ktop.com.tw/board.php?cid=168&fid=914&tid=89295 [code cpp] HBITMAP h = Image1->Picture->Bitmap->Handle; HRGN hrgn = GetPictureRegion(h,0x00CCCC99,0x0); //呼叫描邊函數 SetWindowRgn(Handle,hrgn,true); [/code] 在 SetWindowsRgn 這個 function 的功能是重新設定視窗的 range (不知道我這樣解釋有沒有錯) 但是如果我只是想把 image1 裡面的圖片,濾掉背景 然後變成按鈕,卻不知道怎麼使用 [code cpp] HBITMAP h = Image1->Picture->Bitmap->Handle; HRGN hrgn = GetPictureRegion(h,0x00CCCC99,0x0); //呼叫描邊函數 這邊濾完背景,不知道怎麼寫回去 image1,然後顯示在 form 上面 SetWindowRgn 又好像只對窗體有用 [/code] 有試過 TImage 裡的 Transparent 雖然背景有濾掉 但是在做 mouseclick 的時候 點擊濾掉的地方一樣會有反應 我想做的 就是只希望有圖片的地方有反應 濾掉的部份是沒反應的 不知道有沒有前輩可以提供比較好的做法 謝謝。 |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
可以試著把image放在panel上,然後再使用
HRGN rgn = CreateEllipticRgn(0,0,50,50); SetWindowRgn(Panel1->Handle,rgn,true); 把image的align設成alclient,把click事件寫在image的event上 類似的做法看看。 ps 可把CreateEllipticRgn換成GetPictureRegion,我只是舉個例而已
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
brian_chen
一般會員 發表:14 回覆:20 積分:6 註冊:2007-06-26 發送簡訊給我 |
哈,謝謝 果然可以使用 不過如果按鈕一多 就相對的也要產生相同數目的panel就是了 謝謝。 ===================引 用 aftcast 文 章=================== 可以試著把image放在panel上,然後再使用 HRGN rgn = CreateEllipticRgn(0,0,50,50); SetWindowRgn(Panel1->Handle,rgn,true); 把image的align設成alclient,把click事件寫在image的event上 類似的做法看看。 ps 可把CreateEllipticRgn換成GetPictureRegion,我只是舉個例而已 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |