フォームを開いた状態に元に戻すには?

解決


saga  2005-05-31 13:55:09  No: 15238  IP: 192.*.*.*

フォームを開いたときの状態にボタンクリックで戻したいとおもっているのですが
どうしたらいいのかわからんとです。どなたかおられませんか?

編集 削除
oita  2005-05-31 14:18:08  No: 15239  IP: 192.*.*.*

private
    { Private 宣言 }
    WindowTop, WindowLeft, WindowWidth, WindowHeight: Integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WindowTop := Top;
  WindowLeft := Left;
  WindowWidth := Width;
  WindowHeight := Height;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Top := WindowTop;
  Left := WindowLeft;
  Width := WindowWidth;
  Height := WindowHeight;
end;

編集 削除
saga  2005-05-31 14:19:14  No: 15240  IP: 192.*.*.*

サイズじゃなくデータなんですが

編集 削除
deldel  2005-05-31 14:24:49  No: 15241  IP: 192.*.*.*

若しくは、

  private
    { Private 宣言 }
    R: TRect;

procedure TForm1.FormCreate(Sender: TObject);
begin
  R := Form1.BoundsRect;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetBounds(R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top);
end;

編集 削除
saga  2005-05-31 14:26:54  No: 15242  IP: 192.*.*.*

だからサイズとか場所じゃなくデータなんですが

編集 削除
deldel  2005-05-31 14:29:09  No: 15243  IP: 192.*.*.*

あ〜〜〜データですか・・・
それには全ての変数やプロパティを起動時にグローバル変数に記憶しておき、
ボタンクリックイベントで元に戻す、というふうにすれば良いです。
面倒ですが・・・。
または、
  ShellExecute(Handle, nil, PChar(同じアプリのファイル名), nil, nil, SW_SHOW);
  Close;
ですかねぇ・・・

編集 削除
ななし  2005-05-31 14:52:24  No: 15244  IP: 192.*.*.*

記憶にはClientDataSetを使うと楽ですよ。

編集 削除
saga  2005-05-31 16:17:20  No: 15245  IP: 192.*.*.*

みなさま解決できました。ありがとうございます。

編集 削除