![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как осуществить "заворачивание" слов в TextOutW или ExtTextOut W? [D7, WinXP]
DAndrew © (2003-11-20 09:27:00)Как осуществить "заворачивание" слов при использовании TextOutW или ExtTextOut W (перенос слова/слов на следующую строку)?
Дана строка в юникодах, например UnicodeString, которая состоит из двух подстрок UnicodeString1 и UnicodeString2 (UnicodeString:= UnicodeString1 + #13 + UnicodeString2). Это обязательное начальное условие.
Проблема в том, чтобы используя только одну конструкцию TextOutW или ExtTextOut W отобразить через канву битмапа UnicodeString (но уже как двк или более строки/строк).
Как можно решить эту проблему?
Пожалуйста, только практические решения.
Спасибо!
Андрей!
MBo (2003-11-20 12:19:00) [1]Нужно изучить хелп и поискать в сети примеры.
DAndrew (2003-11-20 10:41:00) [2]MBo
Вы можете помочь практическим примером (хотя бы небольшими черновыми набросками, как вчера), в том числе и по SetWorldTransform. Я совершенно не знаком с SetWorldTransform.
Как SetWorldTransform выглядит в виде примера.
Спасибо!
Андрей!
MBo (2003-11-20 10:25:00) [3]придется рассчитывать позиции и выводить каждую строку отдельно.
Если программа будет работать только в NT-системах, можно использовать SetWorldTransform.
DAndrew (2003-11-20 10:17:00) [4]MBo
Я уже пробовал:
DrawTextW(Bitmap.Canvas.Handle, PWideChar(UnicodeString), Length(UnicodeString), R, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
Мне необходима центровка не только по горизонтали, но и по вертикали, а это с данной кострукцией не получается. И затем вращать эту строку по типу вчерашнего обсуждения (вращение строки с центром по средине строки - "детские качели")
Вчерашний код по "детским качелям" прекрасно вращает просто строку, а две строки не хочет! А их еще необходимо и отцентровать оотносительно друг друга и канвы битмапа.
Пожалуйста, помогите мне найти приемлемое решение.
Спасибо!
Андрей!
MBo (2003-11-20 09:44:00) [5]Никак. Используй DrawText(A/W//Ex)