Savedialogのwindowを画面の中央に出るようにしたい。

解決


AS  2020-08-01 05:19:38  No: 148965  IP: [192.*.*.*]

アプリを画面の下のほうに隠していて、つい「X」を押して、closeできなくなります。

これを避けるために、Savedialogのwindowを画面の中央に出るようにしたいのですが、

オブジェクトインスペクタを見てもよく分かりません。

どこを見らたいいのか、分かる人がいたら教えてください。

よろしくお願いします。

編集 削除
AAA  2020-08-04 12:16:13  No: 148972  IP: [192.*.*.*]

どちらかかな


procedure TForm1.SaveDialog1FolderChange(Sender: TObject);
var
    H: HWND;
    R: TRECT;
    L,T: Integer;
begin
    H := FindWindow (nil,'名前を付けて保存');
    GetWindowRect(H,R);
    L := (Screen.Width  - R.Width ) div 2;
    T := (Screen.Height - R.Height) div 2;
    SetWindowPos (H,0,L,T,R.Width,R.Height,SW_SHOW);
end;

----------------------------------------------------------------

Timer1.Interval = 1

procedure TForm1.SaveDialog1Show(Sender: TObject);
begin
  Timer1.Enabled  := True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
    H: HWND;
    R: TRECT;
    L,T: Integer;
begin
    H := FindWindow (nil,'名前を付けて保存');
    GetWindowRect(H,R);
    L := (Screen.Width  - R.Width ) div 2;
    T := (Screen.Height - R.Height) div 2;
    SetWindowPos (H,0,L,T,R.Width,R.Height,SW_SHOW);
    Timer1.Enabled := False;
end;

編集 削除
AS  2020-08-04 14:11:15  No: 148977  IP: [192.*.*.*]

ありがとうございました。

時間がなくて見るのが遅くなりました。

また、よろしくお願いします。

編集 削除