ウインドウサイズが維持される
お世話になっております。
オンラインタスクのウインドウですが、サイズや位置を変更して閉じても再度開くと前回閉じた際のサイズや位置を保持してしまいます。
開発環境での実行では、フォームで設定したX,Yや幅、高さで開き直されるのですが、
テスト環境では前回閉じた際のサイズや位置で開いてしまいます。
フォームで設定したX,Yや幅、高さで開くようにしたいのですがどうしたら良いでしょうか?
INIで設定なのかと見比べてみたのですが違いはなさそうなのでご存知の方ご教示頂ければ幸いです。よろしくお願いします。
開発環境
Windows10Pro64bit+Xpa3.1a
テスト環境
WindowsServer2019Essentials+Xpa3.1a
-
開発版の実行ではフォーム保存となっていてもフォーム保存はされません。
フォーム保存をNOにすれば実行環境でも保存されないと思います。
-
ISHIJIMA様、早速のコメントありがとうございます。
フォーム特性-詳細-フォーム状態の維持[No]
これで思うような、操作によるサイズや位置の変更が保持されない動きになりました。
ありがとうございました。
-
フォーム特性で、「フォーム状態の維持」が「Yes」になっていると、実行版で実行したときに前の状態が維持されて残るようになります。ただし、開発版では維持されません。
-
テーブルコントロールを使った表形式画面では、フォームの外枠を太線にして
フォームの高さを広げると、テーブルコントロールの表示行数もその分だけ
増えるといった作りを取るようにしております。並行実行も使い、マルチモニターで複数画面を表示しているお客様もいます。
こういったプログラムは「フォーム状態の維持=Yes」が都合がいいです。
たまにフォームを変な場所に配置しておかしくしてしまう事などもありますので
FormStateClear('*')を発行する処理を呼び出せるようにしております。※追記:以上、質問者様が求めている事ではありませんが、関連事項として投稿させて頂きました。
-
tanda様
コメントありがとうございます。
開発版と実行版での動作の違いで戸惑いました。
「フォーム」「サイズ」などで検索してみても辿り着けなかったので助かりました。nkmt様
コメントありがとうございます。
フォームサイズとテーブル行数の連動も便利そうですね。
>フォームを変な場所に配置しておかしくしてしまう
当方でもこれが心配されたのでとりあえず開き直せば元のサイズに戻せればと考えました。
FormStateClearによる初期化という便利な関数も有るのですね。大変参考になりました。 -
アドバンス情報の川島です。 これに関連して質問させていただきます。
RIA環境で稼働させていますが、ある端末をだけ画面を起動したときにデスクトップの枠外に表示されてしまいます。 この画面の終了時にFormStateClear('*')を入れていますが解消されません。
フォーム状態は「維持」で表示開始が「デスクトップの中央」となっております。
システムの稼働中が同じ画面を開き直しても前回の場所に表示されますがシステム自体を再起動後が必ず画面の枠外に表示されます。
何か心当たりがや事例がある方はいますでしょうか?
お願いいたします。
-
Windows RIAを1度もご提供した事はないのですが
クライアント実行版の処理メニュー画面には画面位置リセットといったボタンを配置して
FormStateClear('*') を実行できるようにしています。 -
FormStateClear('*') がうまく実行されていないかもしれません。
直接削除してみてはいかがでしょうか
保存先はヘルプを見て下さい。
-
あとはその端末だけ何か違う事はありませんか
マルチディスプレイにしているとか・・・
-
アドバンス情報の川島です。
ご回答ありがとうございます。
一度直接端末のフォーム情報を削除してみます。
-
マルチディスプレイの場合はテクニカル情報の2003277が関係しているかもです。
ただMagic xpa 3.2c PT3で対応済みです。
-
ご回答ありがとうございます。
マルチディスプレイではないようです。
-
C:\Users\AISD03\AppData\Roaming\MSJ\Magic xpa3.3d 内の
FormsUserState_jpn.xml
を削除すればフォーム位置がリセットされる、でよろしいでしょうか?
-
MSJの下が<GUI ID>だと思います。
Magic xpa3.3dは開発機の場合かな?
サインインしてコメントを残してください。
コメント
14件のコメント