こんにちは。 "ダブルクリックで編集モード"と表現されていらっしゃるので確認しますけれど、 つまりは、 ・ボタンを利用した場合のみ”編集可”。 ・それ以外は”編集不可”。 ということで良いですよね? ボタンを押されたことを識別するための仕組みについては、 前の方が書かれていらっしゃいますので、 モード切り替えの制御について、少し補足です。 --- まず、ユーザが文書を編集モードにできる方法として、 文書を開いた状態でのモード切替(ダブルクリック、ショートカットキー[Ctrl+E])など以外にも、 Viewからの右クリック>編集コマンドなどで、直接編集モードで開くことも可能です。 それらも考慮すると、PostOpenでもモードチェックする必要があると思います。 また、QueryModeChangeイベントは、”モードが切り替わるとき”に発生するものなので、 ・読込み⇒編集、 ・編集⇒読込み の両方向それぞれに対応しておく必要があります。 それから、”ボタンを押しましたフラグ”の持ち方は、 他に(フォームスクリプトの)グローバル変数も利用できるかと思います。 以下は、(フォームスクリプトの)グローバル変数を用いた場合の例です。 ---- ■(Decralations) ・フラグの変数を宣言 ■Initialize ・グローバル変数フラグを”不許可”で初期化 ※変数の型の初期値を、不許可と意味づけるのもありですね。 ■PostOpenイベント ・新規作成以外、編集モードであれば必ず読込みモードにする。 ※新規作成時だけでは、はじめに編集モードで開かないといけませんからね。 ■QueryModeChangeイベント ・(現在)編集モード⇒読込み:の場合はOK。 ・(現在)読込みモード⇒編集:の場合はグローバル変数をチェックし、"許可"されている場合のみOK。 このとき、グローバル変数フラグを"不許可"に戻しておく。 ■編集Actionボタン ・グローバル変数を"許可"にしてから、編集モードにする ---- 以上、ご参考に。