TLabel 如何可以實現char wrap? |
尚未結案
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
事實上在寫入Caption時,做一些判斷就可以了。
請將 AutoSize := false;WordWrap := False;
並拉大Label範圍為顯示範圍。
procedure TForm1.Button1Click(Sender: TObject); var I,CharW,TextW :Integer; WStr,DStr : WideString; begin DStr := ''; WStr := '有Delphi K.TOP 查資料真方便!'; With Label1 do begin Canvas.Font := Font; TextW := 0; if Canvas.TextWidth(WStr)>Width then begin { 文字長度不夠顯示處理 } For I:=1 to Length(WStr) do begin CharW := Canvas.TextWidth(WStr[I]); Inc(TextW,CharW); if TextW>Width then begin DStr := DStr WStr[I] #13; TextW := 0; end else DStr := DStr WStr[I]; end; end; Caption := DStr; end; end;若文字有超過,帶表示你沒選擇正確的字型。 例如 中文字卻選擇英文字型。 參考 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ 發表人 - wameng 於 2005/05/25 12:55:25 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |