Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отключить стандартную прорисовку потомка от TPanel


WondeRu ©   (2005-01-19 13:09:00) 

Здравствуйте, уважаемые!

Как отключить стандартную прорисовку потомка от TPanel? На панельке буду рисовать с помощью OpenGL, а вот стандартный обработчик порой только мешает!


Просто Джо   (2005-01-19 17:34:00) [1]

WondeRu ©

WM_ERASEBKGND

An application should return nonzero if it erases the background; otherwise, it should return zero.


Igor_thief   (2005-01-19 17:27:00) [2]

WondeRu ©   (19.01.05 16:42) [8]
Четко и ясно. Сенкс!


WondeRu   (2005-01-19 16:42:00) [3]

Igor_thief   (19.01.05 16:30) [7]
А зачем перехватывать procedure WMERASEBKGND


The WM_ERASEBKGNDmessage is sent when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting.

эта зараза трет фон по этому событию, а зачем это нада, если OpenGL это делает, порой возникают артефакты из-за этого!


Igor_thief   (2005-01-19 16:30:00) [4]

WondeRu ©   (19.01.05 16:13) [6]
Ну это понятно. А зачем перехватывать procedure WMERASEBKGND(var Msg: TMessage); message WM_ERASEBKGND;


WondeRu   (2005-01-19 16:13:00) [5]

Igor_thief   (19.01.05 15:58) [5]
И что ты в нем делал, если не секрет?


в том то и дело что ничего))) переопределяется Paint (в нем и рисую), тока там нелься вызывать inherited ([1])


Igor_thief   (2005-01-19 15:58:00) [6]

WondeRu ©   (19.01.05 13:38) [4]
И что ты в нем делал, если не секрет?


WondeRu   (2005-01-19 13:38:00) [7]

procedure WMERASEBKGND(var Msg: TMessage); message WM_ERASEBKGND;- помогло! спасибо!!!


WondeRu   (2005-01-19 13:34:00) [8]

Просто Джо ©   (19.01.05 13:14) [2]
WM_ERASEBKGND


вот его и нада удавить, тока как? потому что procedure Paint; override;я пользовался но не помогало полностью!


Просто Джо   (2005-01-19 13:14:00) [9]


procedure Paint; override;
....

begin
 // все.
 // не нужно вызывать inherited
end;


Или я не понял вопроса?


Просто Джо   (2005-01-19 13:14:00) [10]


procedure Paint; override;
....

begin
 // все.
 // не нужно вызывать inherited
end;


Или я не понял вопроса?

ну, может, еще давить WM_ERASEBKGND


Наверх

Титульная страница Поиск, карта сайта Написать письмо