Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


Delphi パネルを常時画面の中央に表示させるテクニック

TLabelやTPanelなどのビジュアルコンポーネントを、
Anchorsプロパティで位置を制御する手順は広く知られているかと思います。

参考:Delphi/400 Tips>入門>画面サイズ変更時に対応>コントロール位置を保持
https://www.migaro.co.jp/contents/products/delphi400/tips/introduction/4_27/02/01.html


さて、このAnchorsプロパティを活用して
画面のサイズが変わった時にコンポーネントの位置を追従させる方法があります。

具体的には下の【図1】【図2】のようなイメージです。
Label「変更を保存しますか?」と3つのBitBtnが配置されたPanel1が、画面サイズが変わっても画面の中央に表示され続けています。

これを実装するには、設計画面上で 【図1】 のような形で画面の中央にPanel1を配置した上で、
下の【図3】のようにPanel1のAnchorsプロパティを
「akLeft, akTop, akRight, akBottom」すべてFalseに設定します。

AnchorsがすべてFalseのためPanel1はリサイズされることなく、画面の中央に留まり続けます。

【図3】Anchorsの設定

 


 

さて、ここまでだと通常のVCL(Windows)アプリケーション開発において
当Tipsを利用する機会はあまり無さそうですが、このTipsが真価を発揮するのはIntraWebです。

【図4】のように設計画面の中央部分にパネル(IntraWebではTIWRegionとなります)を配置し、
先ほどと同じようにAnchorsをすべてFalseに設定します。
この状態でプログラムを実行すると、【図5】のようにブラウザ画面の中央にパネルが配置されます。

もちろん、先ほどのVCLアプリケーションの時と同様に、ブラウザをリサイズしても画面の中央に留まり続けます。