Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Расчет ширины строки в Edit


Автор: mvin 31.1.2005, 23:44
Нужно узнать сколько символов из строки "влезет" в видимую часть Edit.

Есть функция GetTextExtentExPoint, но она работает только с контекстом устройства.

А как передать ей контекст Edit? Или вначале нужно контексту устройства назначить параметры шрифта Edit? Тогда как? smile

Если кто сталкивался с такой проблемой подскажите.

Автор: <Spawn> 1.2.2005, 07:43
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 EditDC: HDC;
 Size: TSize;
begin
 EditDC := GetDC(Edit1.Handle);
 try
   GetTextExtentPoint32(EditDC, PAnsiChar(Edit1.Text),
     Length(Edit1.Text), Size);
   //Чего то делаем с получеными данными
 finally
   ReleaseDC(Edit1.Handle, EditDC);
 end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)