Восстановление размера окна
Автор: Mike Orriss
Существует ли какой-либо способ получения координат формы,
которые она должна иметь при восстановлении с максимально распахнутого
состояния?
Используйте API Функцию GetPlacement. Следующая выдержка из кода моего
компонента TBag демонстрирует это:
procedure TBag.SetFormPlace(AName: string; AForm: TForm);
var
s: string[99];
Place: TWindowPlacement;
begin
Place.length := SizeOf(TWindowPlacement);
if not GetWindowPlacement(AForm.Handle, @Place) then
exit;
with Place do
begin
s := IntToStr(Flags);
s := AppendS(s, ShowCmd);
s := AppendS(s, ptMinPosition.X);
s := AppendS(s, ptMinPosition.Y);
s := AppendS(s, ptMaxPosition.X);
s := AppendS(s, ptMaxPosition.Y);
s := AppendS(s, rcNormalPosition.Left);
s := AppendS(s, rcNormalPosition.Top);
s := AppendS(s, rcNormalPosition.Right);
s := AppendS(s, rcNormalPosition.Bottom);
end;
SetString(AName, s);
end;
|
|