[Delphi] メッセージダイアログをフォーム中央に表示する
function MessageDlgC(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons): Integer;
var
        Dlg: TForm;
begin
    Dlg := CreateMessageDialog( Msg, DlgType, Buttons );

//  Dlg.Left := Form1.Left + (Form1.Width -Dlg.Width ) div 2;
//  Dlg.Top  := Form1.Top  + (Form1.Height-Dlg.Height) div 2;
    //メインフォームの中央に表示する場合上記2行の代わりに下記で良い
    Dlg.Position := poMainFormCenter;
    //フォントの色を変更可能
    //サイズやフォント名を変更すると表示が崩れるので調整が必要となる
    Dlg.Font.Color := clRed;
    Result := Dlg.ShowModal;

    Dlg.Free;
end;


<< 使用例 >>
procedure TForm1.Button1Click(Sender: TObject);
var
        msg1, msg2: string;
begin
    msg1 := 'メッセージダイアログ表示';
    msg2 := 'フォーム中央に表示されましたか?';
    if MessageDlgC( msg1+#13+msg2,mtConfirmation,[mbYes,mbNo] )=mrYes then
        ShowMessage( '「はい」を選択' );
end;
      

・インターネット上の情報や書籍の内容を一部参考に作成してます。
・コーディング内容は著作権フリーですが、使用する場合は自己責任にてお願いします。
・記述内容に問題点や改善点がありましたらこちらまでお願いします。

サンプル集の一覧に戻る