全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1697
推到 Plurk!
推到 Facebook!

文字如何加邊框

尚未結案
csm825050
一般會員


發表:49
回覆:29
積分:15
註冊:2003-08-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-25 17:15:42 IP:61.221.xxx.xxx 未訂閱
各位好: 我想將文字加上邊框(沿著字的邊緣),請問該如何處理? 請不吝指教,謝謝
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-25 17:47:32 IP:61.70.xxx.xxx 未訂閱
您好: 偷懶的方法,下面是用程式示範給您看,其實沒那麼麻煩 您只要將您要顯示黑色的部份設為最上層,然後將全部的Label都設為透明 ,然後上下左右個放一個白的Label就可以達到有邊框的效果了. 這個玩法可以達到很多種效果,如陰影字,中空字,邊框字...等 procedure TForm1.Button1Click(Sender: TObject); begin Label1.Transparent:=true; Label2.Transparent:=true; Label3.Transparent:=true; Label4.Transparent:=true; Label5.Transparent:=true; Label2.left:=Label1.Left-2; Label2.Top:=Label1.Top; Label3.Top:=Label1.Top-2; Label3.Left:=Label1.Left; Label4.Top:=Label1.Top; Label4.Left:=Label1.Left+2; Label5.Top:=Label1.Top+2; Label5.Left:=Label1.Left; end;     發表人 - supman 於 2005/04/25 17:54:42
csm825050
一般會員


發表:49
回覆:29
積分:15
註冊:2003-08-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-26 08:40:29 IP:61.221.xxx.xxx 未訂閱
謝謝 有不用label的方法嗎? 要自己寫的...
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-26 08:58:10 IP:203.204.xxx.xxx 未訂閱
您好: 不用Label的話改用Canvas,先在上下左右畫出白外匡,最後在中間加上黑色的字就是外匡字了. SetBkMode(Form1.Canvas.Handle, TRANSPARENT); Canvas.Font.Size := 24; Canvas.Font.Color := clwhite; Canvas.TextOut(100-2,100,'asdf'); Canvas.TextOut(100,100-2,'asdf'); Canvas.TextOut(100 2,100 2,'asdf'); Canvas.TextOut(100,100 2,'asdf'); Canvas.Font.Color := clBlack; Canvas.TextOut(100,100,'asdf'); 發表人 - supman 於 2005/04/26 09:39:09
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-26 11:02:11 IP:140.129.xxx.xxx 未訂閱
csm825050 您好:    插個花! 如果csm825050您的意思是要: "將畫出的字串用矩形框住它"的話,底下程式碼請參考。 要精確的控制字串的位置,其實還要在去取得字串描繪的相關屬性。 您再深入研究研究吧! < class="code"> //--------------------------------------------------------------------------- void BoxText(int x, int y, AnsiString msg) { tagSIZE ts = Form1->Canvas->TextExtent(msg); Form1->Canvas->Rectangle(x-1,y-1,x ts.cx 1,y ts.cy 1); Form1->Canvas->TextOut(x,y,msg); } void __fastcall TForm1::Button1Click(TObject *Sender) { BoxText(50,50,"Apply"); } //--------------------------------------------------------------------------- RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-06-01 23:42:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!