
PowerBuilder の標準関数 MessageBox で表示されるポップアップは Windows OS 標準のダイアログを使用しているため、フォントの種類や文字サイズを PowerScript から個別に変更することはできません。
しかし代替策として「レスポンスウィンドウ (応答型ウィンドウ) 」を自作してメッセージボックス化する方法がございます。
レスポンスウィンドウを活用することで、以下のような柔軟なカスタマイズが可能になります。
本記事では、レスポンスウィンドウを柔軟性の高い独自のメッセージボックスとして作成・表示させる一例を、簡易なサンプルコードとともに紹介します。
①メニューから、新規ウィンドウを作成します。
例 : w_custom_messagebox
②作成したウィンドウのプロパティで、「ウィンドウの種類」を「Response!」に設定します。
③画面上に以下のようにテキストを配置します。
例 : StaticText (名前 : st_message) …メッセージ表示用
④③で作成したテキストのプロパティの「フォント」タブ から、お好みの表示デザインに変更します。

Open イベントにて、呼び出し元から渡されたメッセージ文字列を取得し、 st_message にセットします。
// w_custom_messagebox の Open イベント string ls_message // OpenWithParm で渡された文字列パラメータを取得 ls_message = Message.StringParm // スタティックテキストにメッセージを設定 st_message.text = ls_message
メイン画面の Clicked イベントにて、標準の MessageBox() 関数の代わりに OpenWithParm() を使用してカスタムウィンドウを呼び出します。
// 呼び出し側の処理(例: w_main の Clicked イベント等) string ls_msg ls_msg = "処理を実行してもよろしいですか?~r~n※レスポンスウィンドウを使って表示しています" // 自作メッセージボックスを呼び出し(パラメータ渡し) OpenWithParm(w_custom_messagebox, ls_msg)
これにより、メイン画面の実行ボタンをクリックすると、カスタムしたレスポンスウィンドウをメッセージボックスのように呼び出すことができます。

レスポンスウィンドウでメッセージボックスを自作することで、フォントや色、サイズの変更だけでなく「画面中央以外への表示位置の指定」など、さらに柔軟な画面制御が可能になります。
以下の Tips では、メッセージボックスの表示位置を指定できるように関数化する実装例が掲載されています。
併せてぜひご参照ください!
Tips情報
プロダクト :PowerBuilder
バージョン :2019R3