Карта сайта 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.


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


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 22:01:40/0.0017170906066895/0