![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Витька |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.2.2005 Репутация: нет Всего: нет |
Здравствуйте. Я NET только начал осваивать и пролема такого плана. Необходимо, чтобы задний фон формочки не перерисовывался при вызове Invalidate() (или что правильно использовать для перерисовки?).
В mfc можно было вызвать Invalidate(false) и перехватить WM_EraseBackground А как сделать подобное в C# или в С++ Windows Forms? |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
А что значит "задний фон формочки" и при чем тут в такой постановке вопроса двойной бафферинг?
-------------------- |
|||
|
||||
| Витька |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.2.2005 Репутация: нет Всего: нет |
при вызове Invalidate, сначла рисуется задний фон окошка (BackGround, если совсем по-глупому - то, что по умолчанию серенькое)
а потом поверх вего этого дела - всё то, что написано в OnPaint если при этот порастягивать - поуменьшать окошко, или Invalidate делать по таймеру, то всё будет здОрово так мигать, ибо становится видно как сначала поверх всего залился задник, а потом пошло рисоваться то, что в OnPaint когда я писал под mfc делал так - глушил erasebackground - после чего задний фон не перерисовывался вообще а в OnPaint самостоятельно заливал фон, рисовал поверх него все на другом DC (если здесь, то на Graphics), что нужно и потом результат переносил в окошко (то есть в DC (или Graphics), связанный с моим окном) прошу прощения, если непонятно |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Ну на самом деле все очень просто, нужно на объекте формы вызвать
-------------------- |
|||
|
||||
| Витька |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 5.2.2005 Репутация: нет Всего: нет |
Как говорится - большой человеческий спасиб.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |