Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизОпределение длины строки Найти похожие ветки
← →
Lamer2002 (2002-03-13 14:13) [0]Как узнать длину строки, предположим в Memo, но только не в символах (так как символы разной длины бывают), а в каких-нибудь условных единицах( ну или в мм, мкм, км,....)? Очень нужно. Заранее благодарю.
← →
Nebula (2002-03-13 14:30) [1]Canvas.TextExtent
Canvas.TextWidth
Canvas.TextHeight
← →
MBo (2002-03-13 14:33) [2]в пикселах - textwidth.
для этого надо иметь Canvas - у Memo недоступно - можно создать временный битмап с таким же шрифтом (пример в FAQ для edit) или посложнее:
uses...typinfo;
function GetTextWidthInPixels(AText: string; AControl: TControl): integer;
var
propInfo: PPropInfo;
thisFont: TFont;
begin
Result := 0;
propInfo := GetPropInfo(AControl.ClassInfo, "Font");
if propInfo <> nil then begin
thisFont := TFont(GetObjectProp(AControl, "Font"));
if Assigned(thisFont) then
with TControlCanvas.Create do
try
Control := AControl;
Font.Assign(thisFont);
Result := TextWidth(AText);
finally
Free;
end;
end;
end;
Ralph (TeamB)
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c