| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Сохранение контекста для bitmap |
| Автор: Adry 7.6.2013, 10:01 | ||
| Имеется проект MFC Multiple documents. Рисую графики, делаю скриншот, сохраняю в контекст. Если отрисовка первая, сохраняю в файл *jpeg. Если отрисовка не первая (например, окно программы было перекрыто другим окном, затем снова активизировалось), то по идее в окно должен загружаться сохраненный в памяти контекст, но этого не происходит. Смотрела код в примерах здесь же, на форуме - все похоже один в один. Если верить прочитанным темам, то реализация такого кода в функции LRESULT CALLBACK WndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) и сообщение WM_PAINT работает. У меня - нет. Вместо графика после того, как окно было скрыто другим, потом заново активизировано, отображается только белое полотно.
|
| Автор: Earnest 11.6.2013, 06:31 |
| hDC нужно получать каждый раз. Точнее, не нужно, его же тебе передают как параметр OnDraw. И рисовать нужно именно в этот контекст. Код очень грязный: глобальные переменные сами по себе плохи, а тут еще не поймешь, какая переменная глобальная, какая автоматическая, а какая класса. Это должно быть сразу видно из кода. Ну почему все считают, что сначала нужно написать помоешный код, а потом его чистить, когда заработает? |
| Автор: Adry 11.6.2013, 10:55 |
| Спасибо Вам, Earnest! Я Вас поняла. А код действительно помоечный, да... Каюсь. Единственное, что меня оправдывает, это то, что с этим кодом никто, кроме меня, работать не будет |