Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как осуществить "заворачивание" слов в 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)


Наверх

Титульная страница Поиск, карта сайта Написать письмо