メールリストとエディタのキーバインド競No.06298
TORY さん 20/02/21 11:18
 
いつもお世話になっております。
普段私は秀丸エディターに「カーソル↓」を「Ctrl-D」に割り当てているのですが、
秀丸メールのメール一覧で「メールの削除」に Ctrl+D を割り当てたところ、
メールエディターの方で「カーソル↓」が無効になってしまいました。
できたらメール本体とエディターのキーバインドは固有の管理をしたいのですが無理
なのでしょうか?

[ ]
RE:06298 メールリストとエディタのキーバNo.06299
秀まるお2 さん 20/02/21 14:55
 
 秀丸メールと秀丸エディタのキー割り当てが重なった時にどっちが有効になるのか
は、コマンドの種類や状況によりまして、大変予測が難しいです。

 「設定・キー割り当て...」の「分類」の所で「エディタ・ウィンドウ上で有効な
コマンド」として出てくるコマンドは、基本的には秀丸メールのキー割り当てが優先
されてしまいます。今回のその「メールの削除」コマンドも、エディタ・ウィンドウ
上で効いてしまいます。

 解決策ですが、やはりこれもマクロでやってもらうしか無いと思います。秀丸メー
ル本体ウィンドウ上のマクロ1〜マクロ36は秀丸メール本体ウィンドウ上でしか効か
ないので、例えばマクロ1に、

    #n = sendmessage(hidemaruhandle(0), 0x111, 40010, 0);

 って内容のマクロを登録した上で、そのマクロに対してCtrl+Dのキー割り当てをす
ればいいです。そうすると、Ctrl+Dキーを押した時に、

 秀丸メール本体ウィンドウ上ではマクロ1  = メールの削除
 エディタ・ウィンドウ上では秀丸エディタのキー割り当て = カーソル移動

 となるはずだと思います。

 それでどうでしょうか。

[ ]
RE:06299 メールリストとエディタのキーバNo.06310
TORY さん 20/02/25 10:46
 
教えていただいた方法でうまく行きました。
感謝申し上げます。

厚かましいお願いで恐縮ですが、
併せて「全終了」のマクロコマンドも教えていただけると有りがたいです。
(リファレンスを探したのですが、すぐには見つけることができませんでした)
恐れ入りますが、どうぞよろしくお願いいたします。


[ ]
RE:06310 メールリストとエディタのキーバNo.06311
秀まるお2 さん 20/02/25 11:09
 
 「全終了」は40085になりますが、テストしたらうまく動きませんでした。失礼し
ました。

 実は、sendmessageでコマンド実行しようとしてもうまくいかないコマンドがあり
ます。「全終了」コマンドは、sendmessageで実行しようとすると、マクロがまだ実
行中だとプロセスの終了ができないってことで、中断されてしまってました。

 この場合は、以下のようにBypass_PostMessageでコマンド実行して欲しいです。

    loaddll "tkinfo.dll";
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40085, 0);

 Bypass_PostMessageだとマクロが終了した後にコマンドが遅延して実行されるので、
マクロのせいでコマンド実行が阻害されることは無いです。

[ ]
RE:06311 メールリストとエディタのキーバNo.06326
TORY さん 20/02/26 15:01
 
お忙しいところ丁寧にご回答いただき、感謝申し上げます。
素晴らしいカスタマイズ性に感動しました。
私もマクロを使いこなしたいものです。
今後ともよろしくお願い申し上げます。

[ ]