Существует ли какой-либо способ получения координат формы, которые она должна иметь при восстановлении с максимально распахнутого состояния?
Используйте 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; |
- Mike Orriss [000876]