![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
qwantor |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Доброго времени суток!
У меня возникли траблы с GDI+: Предисловие: У класса контрола есть private поле Graphics* gr, есть public метод virtual Graphics* GetCurrentGraphics(), который пока тупо возвращает gr. gr создаётся в OnPaint(). Есть наследник этого контрола, с помощью которого надо будет кое-что рисовать... Проблема: вот код GetCurrentGraphics исходного контрола:
вот код GetCurrentGraphics производного контрола: [code=cpp] Graphics* DicomImageViewer::GetCurrentGraphics() { return GDIPlusPictureBox::GetCurrentGraphics(); } [/cod вот код OnPaint-a производного контрола:
В полученном gr поле NativeGraphics=NULL. Адрес в памяти на gr совпадает с тем, который создаётся, а вот NativeGraphics походу дела успевает уничтожится. И т.о. при использовании полученного Graphics вылетают исключения, что плохо. Честно говоря это меня очень расстраивает, т.к. всё, что мне нужно сделать было продуманно с использованием передачи укзателя на Graphics. Подскажите, пожалуйста, как мне быть, как заставить NativeGraphics не уничтожаться или как передавать Graphics*??? ![]() |
||||
|
|||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |