Как сделать перенос символов в DrawText

Тема в разделе "WASM.WIN32", создана пользователем zortich, 21 ноя 2007.

  1. zortich

    zortich New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    27
    Добрый день есть текст который по длине большн чем область выаода.
    Как можно организовать вывод этого текста чтобы если текст не мощается он бы переносился бы на новую строку?
    Флаг DT_WORDBREAK переносит только по пробелам ( только тогда когда это возможно если это не возможно то строка не переносится и не выводится).
    Хотелось бы увидеть пример.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Ты хочешь переносить строки не по пробелам, а как это делает ворд? Тогда тебе придётся прикрутить грамматику и переносить самому.
     
  3. zortich

    zortich New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    27
    Нет так как это делает richEdit.

    например если есть трока такого содержания и длины
    "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"

    чтобы та часть этой строки которая не поместилась перешла на новую строку.
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    zortich
    Как можно организовать вывод этого текста чтобы если текст не мощается он бы переносился бы на новую строку?
    Если в лоб, то посчитать размер строки в пикселях, например, при помощи GetTextExtentPoint32. Если больше DrawText'овского lpRect'а, то резать ее, опять считать и так до тех пор, пока не поместится каждая выделенная подстрока.