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

Вниз

Обрезать строку   Найти похожие ветки 

 
ttt   (2013-02-25 21:05) [0]

Добрый вечер.

Например, необходимо ограничить "Ваня пошел гулять и не вернулся" 20 пикселями, чтобы получилось "Ваня пошел гулять...".
Есть ли для этого стандартные методы?


 
Dimka Maslov ©   (2013-02-25 21:08) [1]

while (Canvas.TextWidth(S) > 20) and (Length(S) > 0) do SetLength(S, Length(S)-1)


 
ttt   (2013-02-25 21:09) [2]


> while (Canvas.TextWidth(S) > 20) and (Length(S) > 0) do
> SetLength(S, Length(S)-1)

Мой запасной вариант :) Мне кажется прорисовывать таким методом элементы таблицы не совсем корректно :)


 
ttt   (2013-02-25 21:14) [3]

Хотя, можно было бы просто нарисовать поверх невлезающего обрезанного текста в конце три точки. НО! Вдруг есть стандартный метод подобно DT_END_ELLIPSIS.


 
Игорь Шевченко ©   (2013-02-25 21:20) [4]

ttt   (25.02.13 21:14) [3]

В EhLib, по-моему, такое обрезание в гриде сделано. Исходники доступны, можно посмотреть


 
clickmaker ©   (2013-02-25 21:47) [5]

> Вдруг есть стандартный метод подобно DT_END_ELLIPSIS

А кто мешает использовать DrawText?


 
ttt   (2013-02-25 22:23) [6]


> А кто мешает использовать DrawText?

Дык, не нашел флага, делающего это.


 
clickmaker ©   (2013-02-25 22:46) [7]

> не нашел флага, делающего это

а в [3] что?


 
Dimka Maslov ©   (2013-02-25 22:57) [8]


> Мой запасной вариант :) Мне кажется прорисовывать таким
> методом элементы таблицы не совсем корректно


Допустим стандартный метод есть. Как он будет работать? Сначала определит, сколько символов влезает в заданную область, потом обрежет и выведедет. Что здесь не совсем корректного?


 
ttt   (2013-02-25 23:02) [9]


> а в [3] что?


Млё. И доверяй потом переводам, которые добавляют в конец тире.



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1371457959
Sergey Masloff
2013-06-17 12:32
2013.12.08
И опять про ЕГЭ


15-1371414603
Юрий
2013-06-17 00:30
2013.12.08
С днем рождения ! 17 июня 2013 понедельник


2-1361480816
ttt
2013-02-22 01:06
2013.12.08
Удаление спец. символов


2-1361895000
Andrey869
2013-02-26 20:10
2013.12.08
Отправка на почту


15-1371283923
alexdn
2013-06-15 12:12
2013.12.08
Вот тоже статья на анализ