Форум: "Начинающим";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
ВнизМерцает окно при изменении размеров. Найти похожие ветки
← →
Псарь (2011-09-21 17:15) [0]Окно работает в двух размерах, при переключении видны мерцания.
Как от них избавиться?
Функция LockWindowUpdate не помогает.
procedure TForm1.SetState(IsShow: boolean);
begin
If IsShow then
begin
BorderStyle := bsToolWindow;
Left := Centered(Screen.Width, FNormalWidth);
Top := Centered(Screen.Height, FNormalHeight);
ClientWidth := FNormalWidth;
ClientHeight:= FNormalHeight;
end else
begin
LockWindowUpdate(Handle);
BorderStyle := bsNone;
Left := 100;
Top := 100;
ClientWidth := 100;
ClientHeight:= 100;
LockWindowUpdate(0);
end;
end;
← →
Псарь (2011-09-21 17:17) [1]Лучше так:
procedure TForm1.SetState(IsShow: boolean);
begin
If IsShow then
begin
BorderStyle := bsToolWindow;
Left := 80;
Top := 88;
ClientWidth := 200;
ClientHeight:= 200;
end else
begin
LockWindowUpdate(Handle);
BorderStyle := bsNone;
Left := 100;
Top := 100;
ClientWidth := 100;
ClientHeight:= 100;
LockWindowUpdate(0);
end;
end;
← →
RWolf © (2011-09-21 17:51) [2]SetBounds?
← →
Sapersky (2011-09-21 17:55) [3]Дело не столько в размерах, сколько в BorderStyle:
procedure TCustomForm.SetBorderStyle(Value: TFormBorderStyle);
begin
if FBorderStyle <> Value then
begin
FBorderStyle := Value;
AutoScroll := FBorderStyle in [bsSizeable, bsSizeToolWin];
if not (csDesigning in ComponentState) then RecreateWnd;
end;
end;
← →
Псарь (2011-09-21 18:35) [4]
> RWolf © (21.09.11 17:51) [2]
О, гораздо меньше мерцает. Спс. :)
> Sapersky (21.09.11 17:55) [3]
> RecreateWnd;
Делал окно на время не видимым, толку ноль.
Скрыть пересоздание не удается.
← →
Омлет © (2011-09-21 18:54) [5]Зачем менять BorderStyle?
← →
Псарь (2011-09-21 19:03) [6]
> Омлет © (21.09.11 18:54) [5]
>
> Зачем менять BorderStyle?
Секрет фирмы. :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c