| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как при WM_PAINT окна сохраить форматирование текс |
| Автор: Royan 6.7.2004, 14:56 |
| Допустим у меня выведен форматированный текст, (что-то жирным что-то курсивом) Задача: обрабатывая сообщение WM_PAINT, не производить форматирование повторно то есть не прибегать к умышленному выведению фрагмента жирным или курсивом, а воспользоваться уже сделанным форматированием. При чем следует учесть что вариант сделать скриншот и потом его пихать по пришествии WM_PAINT не вариант так как текст может вылезать за рамки окна => скриншот здесь не поможет |
| Автор: AndyY 6.7.2004, 15:13 |
| а разве есть проблема сохранить форматирование? думаю, это самый простой вариант - хранить список слов (с атрибутами шрифта и размерами текста) и выводить их на paint в цикле |
| Автор: Nastya 6.7.2004, 15:20 |
| Более правильно все "рисование" в том числе вывод текста помещать в WM_PAINT, и по определенным событиям вызывать обновление нужного прямоугоьника. Соответсвенно меняя значения переменных, отвечающих за формат графическо информации |
| Автор: Олег М 6.7.2004, 15:26 | ||
Что-то я вообще не въехал в задачу. Что значит производить форматирование повторно и куда делось в таком случае старое? Что вообще понимается под форматированием в данном случае? |
| Автор: Royan 6.7.2004, 15:50 | ||
| Кажется я немного поумнел. По всей видимости я могу сделать следующее. Разделив текст на логические единицы, (в моем случае это исключительно слова), я должен запомнить HFONT каждого такого слова. То есть в грубом виде иметь массив типа HFONT размерностью == (кол-во слов в файле откуда берется текст) Хотя если слов будет 10000 это плохое решение может можно сделать иначе
Форматированный тест означает что, что-то выведено жирным, что-то курсивом и шрифтом Courier а что-то оставлено без форматирования. При этом главное не использовать ничего кроме WinAPI, STL и собственно С++ |
| Автор: AndyY 6.7.2004, 16:10 |
| Royan ну, можно хранить не сам HFONT, а индекс в массиве HFONT:). повторяюсь - еще удобно хранить размеры (ширину) слова для быстрого расчета позиции следующего. |
| Автор: Royan 6.7.2004, 17:07 | ||
|