![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно подсчитать длину строки в пикселях [D5, Win95/98, WinME, NT4, Win2k, WinXP]
dimich1978 © (2003-01-14 17:07:00)Например подсчет длины
S:="Дата"+datetostr(date);
или
у checkbox как можно узнать.
Делаю на checklistbox.canvas.textwidth
все ок, а вот с отдельной строкой нифига. Как это можно побороть.
Заранее всем благодарен
anatolyk (2003-01-15 11:25:00) [1]Всем привет!
А как это будет выглядеть в случае, если надо, напр. автоматически выровнять ширину колонки в DBGRID-е по наиболее широкому полю? Подскажите, пожалуйста.
eheyler (2003-01-14 18:02:00) [2]Что-нибудь в таком духе:
var DC: HDC;
hf: THandle;
Size: TSize;
s: string;
MyTextWidth: Integer;
begin
s := "Edit1";
DC := GetDC(Edit1.Handle);
hf := SelectObject(DC, Edit1.Font.Handle);
Windows.GetTextExtentPoint32(DC, PChar(s), Length(s), Size);
MyTextWidth := Size.cx; // Результат
SelectObject(DC, hf);
ReleaseDC(Edit1.Handle, DC);
end;
Или создать временный канвас
Avsam (2003-01-14 17:46:00) [3]Я понял о чем вопрос: как подсчитать длину строки в пикселях, имея определенные шрифтовые настройки?
то есть, определить заранее, влезет ли текст в TEdit и сколько не влезет.
так как?
eheyler (2003-01-14 17:35:00) [4]Отдельная строка не имеет длины в пикселах.
Её (длину в пикселах) имеет изображение этой строки на
каком либо устройстве (Canvas"e).
Skier (2003-01-14 17:16:00) [5]>dimich1978
Не понятно...
MBo (2003-01-14 17:14:00) [6]>все ок, а вот с отдельной строкой нифига
?????