スクリプトからデフォルトのキー動作をさNo.09648
ももきち さん 21/11/13 21:57
 
スクリプトについて、あまりよく分かっておらず恐縮ですが、以下について教えて頂
けないでしょうか。

ESCキーを押した時に、以下の動作を実現したいとします。
・サブウィンドウで開かれていたら、サブウィンドウを閉じる。
・サブウィンドウでなければ、本来のESCキーが押された動作をする。

 その場合、ESCキーに以下のスクリプトを割り当てると、それっぽい動作をするよう
にはなりました。
----
if( GetWindowText(GetCurrentWindowHandle()).slice(-4) === "(サブ)") {
  Command("閉じる");

// 以降は本来のESCキーの動作のつもり(@)
} else if( GetSpaceSelectMode()) {
  SetSpaceSelectMode(0);  // スペース選択モード解除のつもり(A)
  SelectItem(-1);  // 選択しているファイルを解除したつもり(B)
}
----
 ここで、気になったのは、
 @ファイルの切り取り実行後の解除動作など、完全にESCキーの動作を再現できてい
ません。
   本来のESCキーを押下した時の処理を、スクリプトから実行する方法はないでしょ
うか?
   例えば、EndMacro(数値); など、特定の中断をした場合は、継続して本来のESC
キーの処理を呼び出すといった感じをイメージしています。
 ASetSpaceSelectMode()のパラメータは「0」で良いか?(ヘルプに説明が見当たら
なかった)
 B選択状態を解除するのは、SelectItem(-1)で良いか?(ヘルプから探せなかった)

[ ]
RE:09648 スクリプトからデフォルトのキーNo.09650
秀丸担当 さん 21/11/15 10:17
 

> @ファイルの切り取り実行後の解除動作など、完全にESCキーの動作を再現できてい
>ません。
>   本来のESCキーを押下した時の処理を、スクリプトから実行する方法はないでしょ
>うか?

いまのところ方法は無いはずだと思います。
Escだけでなく、他のキー操作だったり、もしスクリプト内で何らかの処理を行った
後に本来のキー操作が行われるとどうなってしまうのか予想がつかないこともあり、
これをやるのは難しそうです。すみません。

> ASetSpaceSelectMode()のパラメータは「0」で良いか?(ヘルプに説明が見当たらな
>かった)

スペース選択モードを解除するには、0でいいです。
SetSpaceSelectMode()のパラメータは、GetSpaceSelectMode()で得られるものと同じ
意味の値を指定します。
GetSpaceSelectMode()は、スペース選択モードでないとき0で、スペース選択モード
のとき1です。
そのあたりのこともヘルプに書いておきます。

> B選択状態を解除するのは、SelectItem(-1)で良いか?(ヘルプから探せなかった)

選択解除するには、Command("選択解除");でできます。
SelectItem(-1)は、やってみたら確かに選択解除になりましたが、調べてみたら意図
した動作ではなく、全ての項目にフォーカスを与えようとして、エラーで結果的に解
除となるようでした。
SelectItem(-1)で解除もできるというようにしようと思います。

[ ]
RE:09650 スクリプトからデフォルトのキーNo.09652
ももきち さん 21/11/15 20:05
 
>> @ファイルの切り取り実行後の解除動作など、完全にESCキーの動作を再現できてい
>>ません。
>>   本来のESCキーを押下した時の処理を、スクリプトから実行する方法はないでしょ
>>うか?

承知しました。ご確認ありがとうございます。
とりあえず、自前のスクリプトで、やりたかった事を実現することができました。

>スペース選択モードを解除するには、0でいいです。
>SetSpaceSelectMode()のパラメータは、GetSpaceSelectMode()で得られるものと同
>じ意味の値を指定します。
>GetSpaceSelectMode()は、スペース選択モードでないとき0で、スペース選択モード
>のとき1です。
>そのあたりのこともヘルプに書いておきます。

承知しました。ヘルプに記載のほど宜しくお願いします。

>選択解除するには、Command("選択解除");でできます。

ヘルプを探したつもりでしたが、"選択解除"コマンドを見落としていました。お手数
おかけしました。
この方法でうまく動作することを確認しました。
また、SelectItem(-1)でも対応頂けるということで宜しくお願い致します。

[ ]
RE:09650 スクリプトからデフォルトのキーNo.09667
ももきち さん 21/11/21 14:05
 
V1.70β4にて、GetSpaceSelectModeとSelectItemのヘルプが修正されていることを確
認しました。
ご対応有難うございました。

[ ]