●逆襲のOS/2● | (2009.02.27/2009.10.28) |
VIOウィンドウの初期状態の変更
|
また、PMでは[SHIFT]キーを押したままウィンドウをリサイズすれば、デフォルトのウィンドウサイズを変更できるはずなのだが、なぜかVIOではこれも機能しない。つーか、そもそもVIOウィンドウを小さくしても、最大化状態のままだと判断されているようで、右上ボタンは[|□|]のままである。これは一般のPMウィンドウでは起きない現象。ま、バグでしょうな。
で、対処方法を見つけた。
[SHIFT]+[|□|]をクリック
すると、非最大化状態のまま、最大化できる…なんて書き方をすると混乱するかもしれないが、まあ、やって見ればどれだけ便利かすぐにわかる。次回VIO起動時から右上端が[□]になり、起動→最小化→復元を実行してもウィンドウ位置が変わらなくなる。なお、[SHIFT]+[|□|]でウィンドウが小さくなってしまったら、[SHIFT]を押したままウィンドウ右下をドラッグして、ウィンドウの大きさを最大にすること(これはいわゆる「最大化」ではない)。
/* VIOウィンドウのみを画面中央付近に開く */ /* REXX関数のロード */ CALL RxFuncAdd 'ArxLoadFuncs','ALWAREXX','ArxLoadFuncs' CALL ArxLoadFuncs CALL ArxQueryWindowInfo 'main','info' /* infoは情報が格納されるステム変数 */ IF info.style=H9200A801 THEN /* よくわからんが、これがVIOの識別子みたい */ DO CALL ArxSetWindowPos 'main',80,90 /* 座標原点もウィンドウ位置も左下が基準 */ End; |
ALWALTFXの[ウィンドウ制御]Page 3/3で、このファイルを[WM_SHOW(1ST)]メッセージに割り当てればよい。なお、Page 1/3の[フレームウィンドウの位置制御]は無効にしておく方がよいだろう。