![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Суть дела такова. из onPaint выводиться приветствие. Далее я последовательно, построчно читаю файл. Соответственно, прочитав строчку, я хочу ее вывести в рабочую область окна (опробовано CPaintDC и CClientDC) через TextOut & DrawText и ни никего не видно (цвет текста: черным по белому), отмечю, что через MessageBox весь прочитаный текст очень хорошо виден. Да и при любом изменении размеров окна и т.п. действиям, все что пришло из файла сотрется приветствием из onPaint'а (ведь так?)
По сему вопрос а как правильно выводить текст в окно, и что делать, чтобы оно там все время оставалось и никакие перерисовки ничего не терли. Может кто-нибудь знает способ более толкового решения? -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| suborg |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
Грузить из файла текст надо в отдельной функции, с сохранением в память так, чтобы при вызове OnPaint _всё_, что должно быть нарисовано в окне, включая текст, отрисовалось заново. Если ты рисуешь что-то в окне не из OnPaint, то при следующем OnPaint оно затрётся (вызывается OnEraseBackground). Ну или что ни будь в этом духе...
|
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
А что, если я вообще onPaint инициализировать не буду. Скажем, возможен ли вариант когда, то что вывелось не перерисовывается, а например, запоминатеся как картинка и вставляется по нулевым координатам рабочей области?
Хотя может действительно проще так выводить? |
|||
|
||||
| suborg |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
можно, только вот вставлять опять же придется через OnPaint
Ну, можно это сделать неявно - поместить в окно класс битмапа, рисовать в него, тогда обновлять будет OnPaint битмапа. Грубо сказано, но смысл здесь. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |