![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| tdebugger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 20.1.2007 Репутация: 2 Всего: 4 |
Вот зря я с тобой мучился...про контексты рассказывал...
Все, что нарисовано в окне (форме, контроле), есть содержимое памяти видеоадаптера (чуть не сказал монитора- вот бы дал повода для смеха...), то есть, если мы задвинули окно за пределы монитора, то его изображение теряется из-за отсутствия памяти ТАМ, а когда перекрыли другим окном - соответственно преписали память содержимым ТОГО окна. К счастью нам не нужно беспокоиться о перемещении участков памяти при передвигании окна, это работа системы, а вот восстановление потерянного изображения - уже наша забота. Скинуть заранее приготовленный битмап или нарисовать все заново - это зависит от требований оптимизации, но без обработчика сообщения WM_PAINT не обойтись никак... SetStyle(ControlStyles.UserPaint, true); - устраняет прорисовку фона(перекрывает WM_ERASEBKGND). Ну это уже в конце подбирается, когда все готово, помогло - хорошо, нет - обратно закомментировать, потому как оптимизация графики, вещь сугубо индивидуальная и 100%-го рецепта на эту тему нет... --------------------
ТЕХНОЛОГИЯ "JAVA" НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt |
|||
|
||||
| CyraxZ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
Ну так ОС же сама перерисовывает изображение под курсором мыши. Почему бы ей не перерисовывать его для случая другого окна. Какая разница - курсор мыши или другое окно - всё равно перерисовывать нужно. В случае с курсором перерисовывает, а в случае с другим окном - нет. Не совсем логично... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Курсор - отдельная песня, у него размер более-менее небольшой и к тому же вроде как обычная видеокарта имеет аппаратную поддержку отрисовки курсора "поверх" всего. Что касается окон - каждое окно имеет область в памяти, где хранится текущее содержимое. Сохранять и восстанавливать это содержимое на каждый чих было бы заметной тратой ресурсов CPU. -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |