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

Label動態產生,如何讓它被點擊後周圍有框線產生?

答題得分者是:GrandRURU
kirei6989
一般會員


發表:16
回覆:13
積分:5
註冊:2011-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-10 08:56:24 IP:122.147.xxx.xxx 訂閱
當我利用元件產生Label和shape時,可以利用Shape->Pen->Style,讓Label被點擊後周圍產生框線效果。
剛開始Label先產生,後來才加入Shape,這樣Shape會擋到Label無法點擊,因此改變Label和shape的產生順序,
這樣就可以做出來了。
可是動態產生Label和Shape時,很擔心會有同樣無法點擊到Label的問題,
請問大家有沒有什麼可以設定先後順序的方法或是其他可以產生相同結果(點擊後有框線產生)的方式呢?
謝謝。
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-05-10 09:18:25 IP:59.120.xxx.xxx 未訂閱
如果你是要「產生框線效果」,其實可以直接使用TCanvas來畫就可以了
以下是範例:
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
Canvas.Pen.Width:=3;
Canvas.Pen.Color:=clBlue;
Canvas.Rectangle(Label1.Left, Label1.Top, Label1.Left Label1.Width, Label1.Top Label1.Height);
Label1.Canvas.TextOut(0, 0, Label1.Caption);
end;
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
Canvas.Pen.Width:=3;
Canvas.Pen.Color:=clBtnFace;
Canvas.Rectangle(Label1.Left, Label1.Top, Label1.Left Label1.Width, Label1.Top Label1.Height);
Label1.Canvas.TextOut(0, 0, Label1.Caption);
end;

===================引 用 kirei6989 文 章===================
當我利用元件產生Label和shape時,可以利用Shape->Pen->Style,讓Label被點擊後周圍產生框線效果。
剛開始Label先產生,後來才加入Shape,這樣Shape會擋到Label無法點擊,因此改變Label和shape的產生順序,
這樣就可以做出來了。
可是動態產生Label和Shape時,很擔心會有同樣無法點擊到Label的問題,
請問大家有沒有什麼可以設定先後順序的方法或是其他可以產生相同結果(點擊後有框線產生)的方式呢?
謝謝。
編輯記錄
GrandRURU 重新編輯於 2011-05-09 19:54:23, 註解 無‧
kirei6989
一般會員


發表:16
回覆:13
積分:5
註冊:2011-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-05-10 11:06:44 IP:122.147.xxx.xxx 訂閱
感謝GrandRURU提供的方法,這樣真的就簡單多了,
剛剛試了一下真的很方便。
系統時間:2024-03-29 9:37:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!