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

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

Не перерисовывается 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)


Наверх

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