#10684

uru
メンバー

江村様

早速のご確認、ご回答、ありがとうございます!

標準設定の Ctrl+K に割り当てられている「ユーザーメニュー(1)」の挙動で確認してみました。

私の環境では、ポップアップメニューの表示がされる前でも、また、後でも、Ctrl+K -> K は Ctrl を押したままで正しく機能しました。

ただ、Ctrl+K -> C については、ポップアップメニューが表示される前では Ctrl を押したままで正しく機能するものの、表示された後では、ご指摘のように Ctrl を離さないと受け付けられませんでした。

2番目のキー(ポップアップメニュー中のショートカット)について、C, H, I, J, M の場合のみ、Ctrl を押したままだと受け付けられず、ほかのキーについては、押したままで受け付けられています。すべてのキーが受け付けられないのではなく、特定のキーのみ、挙動が違うようなのです(これについては環境依存でないか、別の環境でも挙動を確認してみます)。

ユーザーメニュー(1) に関しては、ポップアップの表示を遅延させることで現象の回避が正しくできました。ありがとうございます!

ただ、先の VZ化スニペット(http://jp.emeditor.com/modules/news/article.php?storyid=121)では、たとえば Ctrl+Q に対して、マクロでその場でポップアップメニューを生成して表示し、2ストローク対応をしています。ポップアップメニュー中の R (^QR) は Ctrl を押したまま機能するのですが、C (^QC) は Ctrl を押したままだと認識されません。マクロによるポップアップメニューの処理についても、同様に表示の遅延を設定するような方法があれば教えていただけないでしょうか。以下簡単なサンプルです。

var mainMenu = CreatePopupMenu();
mainMenu.Add( “&R text top”, 4168 ); // OK with Ctrl
mainMenu.Add( “&C text bottom”, 4169 ); // NG with Ctrl
var selectedID = mainMenu.Track(0);
if (selectedID != 0){
editor.ExecuteCommandByID(selectedID);
}

長文になってしまいすみません。引き続きよろしくお願いいたします。