AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2008, 15:18   #1  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Проблема с GDI графикой
Как сделать так что б GDI графика не пропадала, когда форма теряет фокус?
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 15:25   #2  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
А на чем графика у вас? На Window control?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 15:25   #3  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Дась.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 15:27   #4  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
попробуйте рисовать в paint() после супера (если он там есть).
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 15:37   #5  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Если рисовать в пэинте метод будет вызывать сам себя.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 15:44   #6  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Посмотрите \Forms\tutorial_Tetris
должно быть познавательно
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 14.05.2008, 15:53   #7  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Смотрел) между прочим, когда эта форма теряет фокус, то изображение следующего блока на NextPane тоже пропадает. Изображение на главном Pane не пропадает только потому, что зацикленно перерисовуется.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 16:20   #8  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
я так и не поборол этот эффект, в итоге все рисовал с помощью ставщего убогим в 4.0 (спасибо MBS) класса Image. В 2.5 и 3.0 с Image можно было делать хорошие штуки.
А какая у тебя задача если не секрет, может что-нибудь подскажу. Какие фигуры рисуешь?
Старый 14.05.2008, 16:25   #9  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от HorrR Посмотреть сообщение
Если рисовать в пэинте метод будет вызывать сам себя.
Это смотря как и что рисовать.

См. рисунок - ничего не стирается.
Изображения
 
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 16:33   #10  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
а ты сделай Tab и две закладки, на одной размести Window, нарисуй, перейди на вторую закладку и потом обратно на первую где только что отрисовал. останется?
Старый 14.05.2008, 16:48   #11  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Это смотря как и что рисовать.
Ну смотрите, в любом случае когда вы рисуете на контексе Window contol просходит срабатывает обработчик paint и в нём же вы снова рисуете, ну то есть замкнутый круг. Если не прав, поправте пожалуйста.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 16:48   #12  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от if_maks Посмотреть сообщение
а ты сделай Tab и две закладки, на одной размести Window, нарисуй, перейди на вторую закладку и потом обратно на первую где только что отрисовал. останется?
Да. Остается.
Paint() - реализует обработку виндового сообщения WM_PAINT (предпологаю).
Вызывается когда надо перерисовать окно или часть его.
Цитата:
The WM_PAINT message is sent when the system or another application makes a request to paint a portion of an application's window. The message is sent when the UpdateWindow or RedrawWindow function is called,
Зацикливание обновления окна может быть, если вы вызываете UpdateWindow() ф-и. Или подобные им.
Как вариант отрисовки графики (и кстати правильный вариант) использовать промежуточный буфер. А в Paint копировать из него на HDC конечного окна.
Как такое в Аксапте делать - не знаю. Используется это, чтобы избежать мерцания при перерисовки и задержек которые могут возникнуть при рисовании.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 16:52   #13  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от HorrR Посмотреть сообщение
Ну смотрите, в любом случае когда вы рисуете на контексе Window contol просходит срабатывает обработчик paint и в нём же вы снова рисуете, ну то есть замкнутый круг. Если не прав, поправте пожалуйста.
Paint срабатывает когда вы этого от него хотите.
Ну представьте вы рисуете график из 1000 точек с помошью MoveTo и LineTo.
Вы же не думаете, что при этом винда 1000 раз обновит окно?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 16:54   #14  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Ну вот, о чём и я собсна, а когда много графики перерисовка заметна, то есть постоянное мерцание. Да, кстати, ещё один неприятный эфект. Когда насыщеное графикой окно теряет фокус, пропадает не только графика но и очень часто контролы.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 16:55   #15  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Уверен, что LineTo вызывает событие Paint только один раз, потому как скорее всего запонлняется буфер, а потом копируеццо на конечный контекст.
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 17:00   #16  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от HorrR Посмотреть сообщение
Уверен, что LineTo вызывает событие Paint только один раз, потому как скорее всего запонлняется буфер, а потом копируеццо на конечный контекст.
Не вызывает. Вообще.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 17:14   #17  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Хм, проверил, действительно не вызывает. Интересно, почему же у меня постоянное мерцание...
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 17:25   #18  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Давайте код. Определим)
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 17:27   #19  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Лучшей форму xpo"шником али же отдельные методы?
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 17:31   #20  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
форму
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Теги
ax2.5, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с поиском в InventTrans после changeCompany (DAX4) Raven Melancholic DAX: Программирование 11 13.03.2008 14:02
Проблема с единицей измерения longson DAX: Программирование 4 16.07.2007 14:35
Проблема с созданием объекта Lelya DAX: Администрирование 33 27.06.2005 16:38
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20
Проблема с временной таблицей MIkeFW DAX: Программирование 5 18.09.2003 11:58

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:06.