自製類 measureText 方法 - 使用 Delphi / C++ Builder |
答題得分者是:aftcast
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
自製類 measureText 方法 - 使用 Delphi / C Builder不知道可以應用的場合有哪些 (笑) <style type="text/css"> qtl { position: absolute; border: 1px solid #cccccc; -moz-border-radius: 5px; opacity: 0.2; line-height: 100%; z-index: 999; direction: ltr; } qtl:hover,qtl.open { opacity: 1; } qtl,qtlbar { height: 22px; } qtlbar { display: block; width: 100%; background-color: #cccccc; cursor: move; } qtlbar img { border: 0; padding: 3px; height: 16px; width: 16px; cursor: pointer; } qtlbar img:hover { background-color: #aaaaff; } qtl>iframe { border: 0; height: 0; width: 0; } qtl.open { height: auto; } qtl.open>iframe { height: 200px; width: 300px; } </style><qtl block; left: 16px; top: 33px;"> |
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
謝謝Andy8c大大分享經驗
我在想如果是TImage的話,它也有Width和Height 會出現Andy大所說的情況嗎? ===================引 用 ANDY8C 文 章=================== 這功能很重要 當您要限制寬度列印/文字入圖檔時, 必須先計算文字產生後的寬度,然後再判斷.... 例如 1. 要把一串文字,放到圖片中,文字不能被切除 A. 寬度壓縮 B. 折行 <style type="text/css"> qtl { position: absolute; border: 1px solid #cccccc; -moz-border-radius: 5px; opacity: 0.2; line-height: 100%; z-index: 999; direction: ltr; } qtl:hover,qtl.open { opacity: 1; } qtl,qtlbar { height: 22px; } qtlbar { display: block; width: 100%; background-color: #cccccc; cursor: move; } qtlbar img { border: 0; padding: 3px; height: 16px; width: 16px; cursor: pointer; } qtlbar img:hover { background-color: #aaaaff; } qtl>iframe { border: 0; height: 0; width: 0; } qtl.open { height: auto; } qtl.open>iframe { height: 200px; width: 300px; } </style><qtl none; left: 319px; top: 256px;"> |
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
一樣要己算
例如: Timage -> 120x 24 上要畫上(貼上) 文字,內容是 A1B2C34 如果字體是 新細明體,大小是 24 (類似 WORD 的大小描述) 那 A1B2C34 在圖檔上的寬度是多少? 字體大小不要改變,會不會超出 Timage 的範圍. 如果字串 改為 "字體1大小2" , 寬度又是多少? 字體大小不要改變,會不會超出 Timage 的範圍. 這些都要算, 不同的需求會有不同的考量.
------
--------------------------------------- 偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩. |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
這個應用非常的多,在led上的跑馬燈也會用到。
不過,個人建議你回傳TSize會比TPoint更直覺,啊不然有點小誤會的啦! ===================引 用 GrandRURU 文 章=================== 自製類 measureText 方法 - 使用 Delphi / C Builder不知道可以應用的場合有哪些 (笑) <style type="text/css"> qtl { position: absolute; border: 1px solid #cccccc; -moz-border-radius: 5px; opacity: 0.2; line-height: 100%; z-index: 999; direction: ltr; } qtl:hover,qtl.open { opacity: 1; } qtl,qtlbar { height: 22px; } qtlbar { display: block; width: 100%; background-color: #cccccc; cursor: move; } qtlbar img { border: 0; padding: 3px; height: 16px; width: 16px; cursor: pointer; } qtlbar img:hover { background-color: #aaaaff; } qtl>iframe { border: 0; height: 0; width: 0; } qtl.open { height: auto; } qtl.open>iframe { height: 200px; width: 300px; } </style><qtl block; left: 16px; top: 33px;">
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
原來大俠也有在玩這些......
個人心得,DELPHI 除資料庫以外,說實在的,能做的事還不少,但要努力精研.... 感恩 ===================引 用 aftcast 文 章=================== 這個應用非常的多,在led上的跑馬燈也會用到。 不過,個人建議你回傳TSize會比TPoint更直覺,啊不然有點小誤會的啦! <style type="text/css"> qtl { position: absolute; border: 1px solid #cccccc; -moz-border-radius: 5px; opacity: 0.2; line-height: 100%; z-index: 999; direction: ltr; } qtl:hover,qtl.open { opacity: 1; } qtl,qtlbar { height: 22px; } qtlbar { display: block; width: 100%; background-color: #cccccc; cursor: move; } qtlbar img { border: 0; padding: 3px; height: 16px; width: 16px; cursor: pointer; } qtlbar img:hover { background-color: #aaaaff; } qtl>iframe { border: 0; height: 0; width: 0; } qtl.open { height: auto; } qtl.open>iframe { height: 200px; width: 300px; } </style><qtl block; left: 16px; top: 33px;">
------
--------------------------------------- 偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩. |
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
|
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
看一下graphics.pas :
function TCustomCanvas.TextWidth(const Text: string): Integer; begin Result := TextExtent(Text).cX; end; function TCanvas.TextExtent(const Text: string): TSize; begin RequiredState([csHandleValid, csFontValid]); Result.cX := 0; Result.cY := 0; Windows.GetTextExtentPoint32(FHandle, Text, Length(Text), Result); end; 所以? 一樣的啦! :p 當然GetTextExtentPoint32是根 ===================引 用 jcjroc 文 章=================== 好像只能用在 Desktop dc 喔!!! 這功能我通常是用GetTextExtentPoint完成
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
讚的啦!
諸位大師法力真是太高強了! 分數都不知道要給哪位了! ===================引 用 aftcast 文 章=================== 看一下graphics.pas : function TCustomCanvas.TextWidth(const Text: string): Integer; begin Result := TextExtent(Text).cX; end; function TCanvas.TextExtent(const Text: string): TSize; begin RequiredState([csHandleValid, csFontValid]); Result.cX := 0; Result.cY := 0; Windows.GetTextExtentPoint32(FHandle, Text, Length(Text), Result); end; 所以? 一樣的啦! :p 當然GetTextExtentPoint32是根 ===================引 用 jcjroc 文 章=================== 好像只能用在 Desktop dc 喔!!! 這功能我通常是用GetTextExtentPoint完成 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |