![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Развертывание окна [D7, WinXP]
Damager © (2006-05-19 17:49:00)При развертывании окно немного дергается, и выглядит это некрасиво.
Можно ли временно отключить прорисовку в момент развертывания? Чтобы получить сразу окно в полный экран.
Rial (2006-05-19 18:09:00) [1]Отрисовку окна можно отключить вот так.
procedure LockControl(Const C:TWinControl;Const bLock,bMustRepaint:Boolean);
begin
If(C=Nil)or(C.Handle=0) then Exit;
If(bLock)then SendMessage(C.Handle,WM_SETREDRAW,0,0)
else begin
SendMessage(C.Handle,WM_SETREDRAW,1,0);
If (bMustRepaint)then
RedrawWindow(C.Handle,Nil,0,
RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
end;
end;
Но, скорее всего, проблема не в этом.
Нужно уменьшить количество отрисовываемых элементов в окне или
отрисовывать их постепенно после появления окна в первый раз.
Еще попробуй
DoubleBuffered:=True
для формы и панелей.
Возможно, у тебя в обработчике OnResize формы что - либо громоздкое
написано. А при максимизации этот обработчик быдет вызываться, ИМХО,
4 раза. Так что учти это.