Восстановление размера окна

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: 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;

{/codecitation}

Добавить комментарий