行選択してるかどうかNo.09342
styth さん 21/04/20 18:27
 
message "マウス" + str(mouseselecting);
message "in" + str(inselecting);
message "line" + str(lineselecting);


行単位、文字単位で、範囲選択しておいて、上記を実行します。
いつも、0が表示されます。
ご確認お願いします。
ところで、上記3つの違いは何ですか?教えて下さい。

自分がしたいことは、行選択してるかどうか、調べるコマンドです。

それと、
秀丸エディタマクロヘルプの
「範囲選択関連キーワード」(上記3点が説明されている箇所)で、

>u
>---------------------------------------------------------------------------
>-----
>selecting   範囲選択中かどうかを表します。範囲選択中の場合は1、そうでない
>場合は0です。

上記の位置に、「u」が表示されています。
何か意味があるんでしょうか?
以上、よろしくお願いいたします。

[ ]
RE:09342 行選択してるかどうかNo.09343
秀丸担当 さん 21/04/21 09:23
 

lineselectingは、「行選択開始」コマンドで選択しているかどうかがわかります。
「行選択開始」コマンドは、キー割り当てなどをして実行すると、カーソル上下キー
で行単位になるというモードになります。

普通の文字単位の選択で、行頭から改行の次の行頭まで、といったようなことを表す
キーワードはありません。
普通の選択の場合は、seltopcolumnとselendcolumnが両方0かなどの条件で判断する
といいです。

mouseselectingは、ドラッグ操作による選択の方法を表します。
ドラッグ操作は、ダブルクリックからのドラッグ、トリプルクリックからのドラッグ、
行番号表示部分のドラッグ、行番号表示部分のダブルクリックからのドラッグがあり
ます。
手動でマクロ実行する場合はマウスのボタンを離した後なので0にしかならないです
が、自動起動マクロだとわかります。
[マクロ]→[マクロ登録]→[自動起動]で、カーソル移動後タイマーに以下のマクロを
割り当てるとmouseselectingの状態もわかります。

#target=0;//0はタイトルバー 1はステータスバー
$a="selecting:"+str(selecting)
 + " mouseselecting:" + str(mouseselecting)
 + " inselecting:" + str(inselecting)
 + " lineselecting:" + str(lineselecting)
 ;
title $a,#target;
title -1,#target;
endmacro;

inselectingは、検索ダイアログで「選択した範囲」をONにして検索中であるかどう
かを表します。

ヘルプに「u」があるのはただの誤字でした。まぎらわしくてすみません。修正して
おきます。

[ ]