![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не перерисовывается PaintBox [D7, Win95/98, Win2k, WinXP]
mmb1 © (2002-11-15 19:50:00)Вызываю
а не перерисовывается. Что не так вызываю ?
InvalidateRect(PaintBox1.Canvas.Handle, NULL, TRUE);
mmb (2002-11-16 11:30:00) [1]но тогда и
Rcдолжно быть
Rc := PaintBox.Parent.BoundsRect;
apay (2002-11-16 10:14:00) [2]читать внимательней надо:
procedure InvalidateRect( Wnd: HWnd; Rect: LPRect; Erase: LongBool);
^^^^^^^^^^
var Rc: TRect;
...
Rc := PaintBox.BoundsRect;
InvalidateRect( PaintBox.Parent.Handle, @Rc, True );
процедуре должен передаваться ХЕНДЛ ОКНА!
MBo (2002-11-16 09:58:00) [3]The invalidated areas accumulate in the update region until the region is processed when the next WM_PAINT message occurs
mmb (2002-11-16 09:14:00) [4]Описание:
procedure InvalidateRect(Wnd: HWnd; Rect: LPRect; Erase: Bool);
Rect: TRect (в кооpдинатах пользователя), добаляемая к области обновления или NULLдля всей области пользователя.
reonid (2002-11-15 20:48:00) [5]А Rect то где?
var R: TRect;
R := PaintBox1.ClientRect;
InvalidateRect(PaintBox1.Canvas.Handle, @R, TRUE);
(или просто PaintBox1.Invalidate)