DC:=BeginPaint(Handle,PaintStruct);
..
EndPaint(Handle,PaintStruct);
GetUpdateRect()
Работает ли GetUpdateRect() при событии OnPaint()? Я пробую вызывать эту функцию, но она всегда возвращает мне пустой прямоугольник (0,0,0,0), хотя я закрываю свое окно другими окнами и вообще делаю все возможные действия для перерисовки.
GetUpdateRect нужно вызывать до обработки системой скобок
Код:
то есть в
Код:
procedure TMyControl.WMPaint(var Message: TWMPaint);
var Rect: TRect;
DC: HDC;
begin
GetUpdateRect(Handle,Rect);
{ Вариант 1 - полное переопределение}
DC:=BeginPaint(Handle,PaintStruct);
MyPaintWindow;
EndPaint(Handle,PaintStruct);
{ Вариант 2 - вызов метода предка}
inherited;
end;
var Rect: TRect;
DC: HDC;
begin
GetUpdateRect(Handle,Rect);
{ Вариант 1 - полное переопределение}
DC:=BeginPaint(Handle,PaintStruct);
MyPaintWindow;
EndPaint(Handle,PaintStruct);
{ Вариант 2 - вызов метода предка}
inherited;
end;