ウィンドウを開いた際に常に親ウィンドウの中央位置に表示させる
2020/09/18
方法
ウィンドウ (子ウィンドウ) をオープンした際に親ウィンドウの中央位置に表示させるには、子ウィンドウの Show イベントなどで下記の式により親ウィンドウの中央に表示させる座標をもとめ、Move 関数を呼び出すか、X, Y プロパティを変更して子ウィンドウを移動します。
例えば計算式は以下のようになります。
c_x = p_x + ((p_width – c_width) / 2)
c_y = p_y + ((p_height – c_height) / 2)
c_x ・・・ 子ウィンドウの移動後の X 座標
c_y ・・・ 子ウィンドウの移動後の Y 座標
また、各種変数を下記のように設定します。
p_x ・・・ 親ウィンドウの X 座標
p_y ・・・ 親ウィンドウの Y 座標
p_width ・・・ 親ウィンドウの幅
p_height ・・・ 親ウィンドウの高さ
c_width ・・・ 子ウィンドウの幅
c_height ・・・ 子ウィンドウの高さ
【例】
親ウィンドウを w_parrent とし、その中央に表示しようとしている子ウィンドウを w_child とします。
[Show イベント]
// 親ウィンドウの座標、幅および高さを取得 p_x = w_parrent.x p_y = w_parrent.y p_width = w_parrent.width p_height = w_parrent.height // 子ウィンドウの幅および高さを取得 c_width = w_child.width c_height = w_child.height // 親ウィンドウの中央に表示する座標を計算 c_x = p_x + ((p_width - c_width) / 2) c_y = p_y + ((p_height - c_height) / 2) // 親画面の中央へウィンドウを移動 w_child.Move(c_x, c_y)
Tips情報
プロダクト :PowerBuilder
バージョン :2017R3