Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как вывести текст с красивым обрезанием если не помещается

Delphi , Графика и Игры , Canvas

Как вывести текст с красивым обрезанием если не помещается

Используй вызов DrawTextEx, установив в параметре dwDTFormat значение DT_PATH_ELLIPSIS.


procedure TForm1.FormPaint(Sender: TObject);
var
  r: TRect;
begin
  r := Rect(20, 20, 110, 70);
  // DT_PATH_ELLIPSIS or DT_WORD_ELLIPSIS or DT_END_ELLIPSIS
  DrawTextEx(Form1.Canvas.Handle, 'Delphi World - это круто!!!',
   25, r, DT_WORD_ELLIPSIS, nil);
end;

Вывод текста с красивым обрезанием, если он не помещается, можно выполнить с помощью функции DrawTextEx и установкой параметра dwDTFormat в DT_PATH_ELLIPSIS.

В вашем коде вы сейчас устанавливаете этот параметр в DT_WORD_ELLIPSIS, что будет обрезать текст по границам слов. Если вы хотите обрезать текст по границам символов, измените его на DT_PATH_ELLIPSIS.

Вот исправленный код:

procedure TForm1.FormPaint(Sender: TObject);
var
  r: TRect;
begin
  r := Rect(20, 20, 110, 70);
  // DT_PATH_ELLIPSIS или DT_WORD_ELLIPSIS или DT_END_ELLIPSIS
  DrawTextEx(Form1.Canvas.Handle, 'Delphi World - это круто!!!', 
               Length('Delphi World - это круто!!!'), r, DT_PATH_ELLIPSIS, nil);
end;

В этом коде я добавил функцию Length для указания длины текстовой строки. Это необходимо потому, что DrawTextEx требует длины текста в качестве параметра.

Также обратите внимание, что DT_PATH_ELLIPSIS обрезает текст по границам символов, а не слов. Если вы хотите обрезать текст по границам слов, используйте DT_WORD_ELLIPSIS.

Статья описывает способ вывода текста с обрезанием в Delphi, используя вызов DrawTextEx и параметр dwDTFormat с значением DT_PATH_ELLIPSIS.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Canvas ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 01:30:22/0.0026171207427979/0