|
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 4
|
|
Как заставить не затирать окном полученную графику в GDI?23.08.2007, 21:03. Показов 5460. Ответов 5
Метки нет (Все метки)
Первый раз столкнулся с GDI и вот никак не могу допереть как заставить не затирать окном полученную графику...
Графика выводиться потоком по указателю в диалоговое окно. Насколько я понял, тама надо что-то с OnDraw'ом делать, а вот что, да как не пойму...
0
|
|
| 23.08.2007, 21:03 | |
|
Ответы с готовыми решениями:
5
Как заставить объекты масштабироваться вместе с окном? Как заставить метод общаться с окном? GDI+ заставить морагть фигуру... |
|
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 4
|
|
| 24.08.2007, 18:46 [ТС] | |
|
Ладно попробую перефразировать...
У меня есть интерфейс который пораждает дочернее немодальное диалоговое окно...Есть поток, который сидит и ловит инфу...Ету инфу он выводит по ссылке(в поток я пердал ссылку на основной интерфейс) в дочернем диалоговом окошке...оть..Все замечательно, но при перерисовке естественно все пропадает. Я перекопал уже пол нета и н-ое кол-во книг, но как действительно бороться с етой проблемой так и не допер...Единственное что смог уловить - надо рисовать в растр и потом уже его выводить, но как тоже толком не понял...Есть добрый человек, который поможет разобраться что да как? Заранее спасибо...
0
|
|
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
| 28.08.2007, 18:16 | |
|
а что вы собственно рисуете на форме диалога?
Принцип работы оконного интерфейса windows, как впрочем и многих других: все что отрисовано один раз на поверхности диалога, может быть стерто при перерисовке перекрывающим диалогом, поэтому должно быть перерисовано диалогом в момент когда область становиться снова видимой (перекрывающий диалог был закрыт или свернут). Менеджер интерфейса следит за тем, чтобы окну было отправлено соответствующее событие когда от него требуется перерисовать свою область (либо всю, либо ее определенную часть). От диалога/окна/формы лишь требуется правильная реакция на данное событие: повторная отрисовка содержимого. Сообщение на уровне Windows API, которое должно вас интересовать называется WM_PAINT, если вы используете MFC или какую другую библиотеку более высокого уровня, то скорее всего вам просто необходимо правильно реализовать обработчик события OnPaint. Каким образом вы это делаете - решать вам. Можно полностью пересоздать изображение для отрисовки, можно хранить образ уже готового и сформированного один раз изображения в памяти и просто скопировать на DC. Можно скомбинировать оба способа или придумать еще чего-нибудь. С уважением, Владимир
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 4
|
|
| 30.08.2007, 17:02 [ТС] | |
|
Спасибо за ответ!
Я в диалоге рисую графики...в реальном времени. На сколько я понял самым оптимальным в этом случае будет рисовать по битмапу и в OnPaint загружать етот битмап. Вот с битмапом у меня получается не очень хорошо...Если не трудно могли бы вы расказать етот принцип? С уважением Артем
0
|
|
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
| 30.08.2007, 20:23 | |
|
Вот здесь хороший пример in-memory Device Context http://www.codeproject.com/gdi/flickerfree.asp, который как раз использует битмап, кстати, полезный класс для отрисовки изображения формы или элемента без мигания.
К сожелению класс спроектирован для использования лишь с библиотекой MFC, но сам принцип там вполне хорошо просматривается. Удачи, Владимир
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 4
|
|
| 03.09.2007, 17:45 [ТС] | |
|
Большое Спасибо!
0
|
|
| 03.09.2007, 17:45 | |
|
Помогаю со студенческими работами здесь
6
Как переключаться между окном игры и окном браузера, или скайпа, или т. п.? Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI. Как заставить сайт написанный на 5.3 заставить работать на 5.6? Как принудительно включить register_globals? как заставить писиспикер заставить хоть чтото проскрипеть? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|