ツールバーの検索ボックスについて1No.22412
かねぽん さん 07/01/20 15:12
 
マクロを使用中に気がついたのですが、メニューの[その他]-[キー割り当て]の画面
でCtrl+Cにマクロを割り当ててある場合、ツールバーの検索ボックスでCtrl+Cを押す
と、マクロが実行されるようです。
これをマクロを割り当てていない時と同様の通常のコピー動作を行うようにするには、
何か方法はありますでしょうか?

V6.07を使用しています。

[ ]
RE:22412 ツールバーの検索ボックスについNo.22414
三月 さん 07/01/21 00:00
 
>マクロを使用中に気がついたのですが、メニューの[その他]-[キー割り当て]の画面
>でCtrl+Cにマクロを割り当ててある場合、ツールバーの検索ボックスでCtrl+Cを押
>すと、マクロが実行されるようです。
>これをマクロを割り当てていない時と同様の通常のコピー動作を行うようにするに
>は、何か方法はありますでしょうか?
>
Ctrl+Ins  コピー
Shift+Ins 貼り付け
Shift+Del 切り取り

ってのもあります。キー割り当てで変えてなければ。
Windows3.1のころはこっちが主流だったような。
最近のWindowsでもつかえます。


[ ]
RE:22414 ツールバーの検索ボックスについNo.22417
かねぽん さん 07/01/21 17:54
 
三月さん、コメントありがとうございます。

実はご紹介いただいた方法があることは知っていました。
ただこれらのショートカットがなかなか覚えられず、いつも間違って
しまうので、マウスの右クリック(やShift+F10)で表示される
コンテキストメニューから選択してコピーしたりしています。

キー割り当てした場合の検索ボックスの動作について簡単に調べて
みたところ、キーにマクロを割り当てた場合と検索系のいくつかの
コマンド(検索、検索ボックス、下候補、上候補、検索文字列の強調、
など)は実行されるようでした。

現在、Ctrl+C(,X,V)にコピー・切り取り・貼り付けの動作を拡張する
マクロを割り当てているのですが、エディタでコピーした文字列を
検索ボックスに貼り付けようとしたときにCtrl+Vと押すとマクロが
実行されてしまうのです。

これをできれば秀丸エディタの設定か、マクロ側で判断して対応できる
ようにならないものかなと、、、。


[ ]
RE:22417 ツールバーの検索ボックスについNo.22418
h-tom さん 07/01/21 19:06
 

h-tom です。

>現在、Ctrl+C(,X,V)にコピー・切り取り・貼り付けの動作を拡張する
>マクロを割り当てているのですが、エディタでコピーした文字列を
>検索ボックスに貼り付けようとしたときにCtrl+Vと押すとマクロが
>実行されてしまうのです。
>
>これをできれば秀丸エディタの設定か、マクロ側で判断して対応できる
>ようにならないものかなと、、、。
Ver.6.00以降なら、getfocusキーワードで、フォーカスのある枠を判別できる
ので、マクロで何とかなるかな?

[ ]
RE:22418 ツールバーの検索ボックスについNo.22419
かねぽん さん 07/01/21 21:11
 
h-tom さん、ありがとうございます。

getfocusキーワードで、現在のフォーカスがある場所を判別できる
ことまでは、ヘルプからわかったのですが、その後の対処方法に
また悩んでいます。

エディタ以外の場所ではマクロを中止するようにするくらいしか
現状は思いつかないのです。
できることなら検索ボックスに位置付いているときには、マクロ
ではなく標準のコピーや貼り付けの動作をさせたいのですが、
そう言ったことは可能でしょうか?

ヘルプをみたところ、検索ボックスに対しての操作は、現在位置の
判定と設定くらいまでしか見つけられませんでした。
検索ボックスのコピーや貼り付けのコマンドがあればいいのですが、
そうでなければ文字列の取得や設定、また文字列の選択開始位置、
選択範囲(選択文字数)などができれば、マクロ側で実装できそう
です。


[ ]
RE:22419 ツールバーの検索ボックスについNo.22420
h-tom さん 07/01/21 22:37
 

h-tom です。

>エディタ以外の場所ではマクロを中止するようにするくらいしか
>現状は思いつかないのです。
>できることなら検索ボックスに位置付いているときには、マクロ
>ではなく標準のコピーや貼り付けの動作をさせたいのですが、
>そう言ったことは可能でしょうか?
無理そうですね。
検索ボックスにフォーカスがあると、編集メニューの「コピー」や「貼り付け」
もきかないです。
(メニューが有効なら、メッセージ投げる方法が使えたかな?)
有効なのは右クリックメニュー(アプリケーションキー)くらい。

ツールバーなので、マウス操作が前提かもしれませんね。

[ ]
RE:22417 ツールバーの検索ボックスについNo.22421
白雲斎 さん 07/01/22 07:34
 
こんにちは かねぽん さん、白雲斎です。

>現在、Ctrl+C(,X,V)にコピー・切り取り・貼り付けの動作を拡張する
>マクロを割り当てているのですが、エディタでコピーした文字列を
>検索ボックスに貼り付けようとしたときにCtrl+Vと押すとマクロが
>実行されてしまうのです。
>
>これをできれば秀丸エディタの設定か、マクロ側で判断して対応できる
>ようにならないものかなと、、、。

検索ボックスでどうにかしようではなく、検索方法を見直す提案です。

●検索ボックスから検索
     1. 「検索ボックス」にフォーカスを当てる
     2. 貼り付ける
     3. Enterキーを押して検索開始

●検索ダイアログから検索
     1. Ctrl+Fキーを押して検索ダイアログを表示
     2. 貼り付ける
     3. Enterキーを押して検索開始

どちらの手間も同じだと思うのですが、どうなんでしょう。
ツールバーを表示していないので検索ボックスの詳細を知らないのですが、簡単
に検索(同じオプション)したいなら、末尾のマクロをツールバーに登録するか
キー割り当てをする案はいかがですか。

クリップボードにキーワードが存在するなら、
     1. マクロ実行
     2. Enterキーを押して検索開始
と一手間減ります。

マクロ例:

beginclipboardread;
$s = getclipboard;
if( $s != "" )
{
    if(strlen($s) > 249) $s = "";
    else if(strstr($s,"\x0A") != -1) $s = leftstr($s, strlen($s)-1);
}
if( selecting )
{
    if(seltoplineno == selendlineno)
    {
        $s = gettext(seltopx, seltopy, selendx, selendy, 1);
    }
    else
    {
        searchdialog $s, nocasesense, noregular, inselect;
        endmacro;
    }
}
searchdialog $s, nocasesense, noregular;

[ ]
RE:22421 ツールバーの検索ボックスについNo.22423
秀丸担当 さん 07/01/22 09:15
 

少々強引ですが、以下のような感じではどうでしょうか。
検索ボックスにある内容をクリップボードにコピーします。

if(getfocus==3){
    setfocus 1;
    setclipboard searchbuffer;
    setfocus 3;
}

[ ]
RE:22423 ツールバーの検索ボックスについNo.22438
かねぽん さん 07/01/23 08:41
 
白雲斎さんありがとうございます。

>検索ボックスでどうにかしようではなく、検索方法を見直す提案です。
>
>●検索ボックスから検索
>     1. 「検索ボックス」にフォーカスを当てる
>     2. 貼り付ける
>     3. Enterキーを押して検索開始
>
>●検索ダイアログから検索
>     1. Ctrl+Fキーを押して検索ダイアログを表示
>     2. 貼り付ける
>     3. Enterキーを押して検索開始
>
>どちらの手間も同じだと思うのですが、どうなんでしょう。

確かに手間から考えると、あまり変わりませんね(^^;

私の使い方では、検索ボックスを使うときに
  右手でマウスを使ってエディタの文字を範囲選択して、
  左手でCtrl+C→検索ボックスをマウスクリック→右手でCtrl+V
とする場合にだけ、割り当てたマクロが動いてしまい、
今回の様なことがおきてしまうようです。

普段はキーボードでCtrl+Fから検索のダイアログを表示して
検索することの方が多いのですが...。


後半のマクロは、おもしろいですね。
確かにこの方法だと、貼り付ける手間が一つ省けますね。
いっそのこと検索ダイアログを表示せずに検索を実行させちゃうと
検索ボックスを使う以上に手軽に検索できるようにできそうです。
(検索文字の変更ができなくなってしまいますが...)

[ ]
RE:22438 ツールバーの検索ボックスについNo.22439
かねぽん さん 07/01/23 09:45
 
秀丸担当さんありがとうございます。

なるほど!searchbufferを使うと検索ボックスの操作が
できるんですね。これは気がつきませんでした。

getfocus と searchbuffer を使って、
思っていた動作に近い動きにできそうです。
(できることなら検索ボックスを操作できると便利なのですが....
  あまり実用的でなさそうな要望ですけど)


[ ]