通常マクロ時の seteventnotify 1 って機No.11204
こみやんま さん 23/04/07 19:05
 
例えば、CTRL+C に
//------------- copy2.mac --------------
if(getfocus()==1){
  copy;
} else {
  seteventnotify 1;
}
----------------------------------------

を作ったとして、

https://help.maruo.co.jp/hidemac/html/070_Function_getfocus.html

「編集エリア意外なら、そのコンポーネントにおける
元来のキー操作をする」
という意味で seteventnotify 1; とするとヘルプからは受け取れます。

しかし、例えば、
アウトプット枠で、適当に「アウトプット枠内のテキストを
選択した状態」で上記マクロを実行しても機能しないように思えます。
(seteventnotify 1; の意味を勘違いしている可能性があります)

seteventnotify 1; が実は異なる意味なのだとすると、

何らかの形で「秀丸マクロで補足してしまったキー操作だが、元来そのコンポーネン
トが持つキー操作のウィンドウメッセージへと移譲する」という意味のマクロ文は必
要になるかと思います。

(といってもまぁ被りそうなのってCTRL+Cくらいですかねぇ。CTRL+Vにマクロ当てる
人もいるのかなー?)

[ ]
RE:11204 通常マクロ時の seteventnotify No.11205
こみやんま さん 23/04/07 19:14
 
いれ以前 DeepLの CLTR+C+C で 担当さんが
https://www2.maruo.co.jp/hidesoft/2/x39956_.html#39966

みたいな投稿があった時から実は少し気になっていたのですが、
アウトプット枠だけなら、アウトプット枠のハンドルの「子コントロールのEditコン
トロール」に0x301(WM_COPY)ながせばいいだけなので
ややトリッキーながらなんとかなったのですが、
ブラウザ枠まで出てくるとなるとやや難儀だと思った次第です。

[ ]
RE:11205 通常マクロ時の seteventnotify No.11207
秀丸担当 さん 23/04/10 09:49
 
バグ情報ありがとうございます。
seteventnotify 1;の目的は、言われている通り、元の操作にすることです。
Ctrl+Rightとかはできたのですが、なぜかCtrl+Cは確かにできませんでした。
エディットコントロールのCtrl+Cはそのままキーを流すだけではだめなようで、特別
扱いして対策しようと思います。

それはそれとして、ブラウザ枠でやるのはまた難しいかもしれません。
できたらいいですが、うまくいかない場合制限にしてしまうかもしれないです。

[ ]