Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.23;
Скачать: CL | DM;

Вниз

Как можно подсчитать длину строки в пикселях   Найти похожие ветки 

 
dimich1978 ©   (2003-01-14 17:07) [0]

Например подсчет длины
S:="Дата"+datetostr(date);
или
у checkbox как можно узнать.
Делаю на checklistbox.canvas.textwidth
все ок, а вот с отдельной строкой нифига. Как это можно побороть.
Заранее всем благодарен


 
MBo ©   (2003-01-14 17:14) [1]

>все ок, а вот с отдельной строкой нифига
?????


 
Skier ©   (2003-01-14 17:16) [2]

>dimich1978
Не понятно...


 
eheyler   (2003-01-14 17:35) [3]

Отдельная строка не имеет длины в пикселах.
Её (длину в пикселах) имеет изображение этой строки на
каком либо устройстве (Canvas"e).


 
Avsam ©   (2003-01-14 17:46) [4]

Я понял о чем вопрос: как подсчитать длину строки в пикселях, имея определенные шрифтовые настройки?
то есть, определить заранее, влезет ли текст в TEdit и сколько не влезет.

так как?


 
eheyler   (2003-01-14 18:02) [5]

Что-нибудь в таком духе:

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;

Или создать временный канвас


 
anatolyk   (2003-01-15 11:25) [6]

Всем привет!
А как это будет выглядеть в случае, если надо, напр. автоматически выровнять ширину колонки в DBGRID-е по наиболее широкому полю? Подскажите, пожалуйста.



Страницы: 1 вся ветка

Текущий архив: 2003.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-72318
Gerda
2003-01-14 22:48
2003.01.23
По поводу коммон контрола SysListView32


3-72158
Vovkin
2002-12-27 20:28
2003.01.23
dbExpress + Delphi 7 + MSSQL 2000


1-72377
Andy BitOff
2003-01-08 20:25
2003.01.23
Мастера, СРОЧНО!!!


3-72129
4x4
2002-12-31 10:50
2003.01.23
DBGrid и ScrollBar


3-72029
Ahmad K
2002-12-28 00:39
2003.01.23
А можно без BDE?