マクロで下線のオンオフを切替えたいNo.10290
もみじ さん 24/02/06 22:59
 
マクロの理解が足りていないので、色々試してみたのですが分らないので質問させて
いただきます。

やりたいことは、CTRL+Uで、下線モードのON/OFFをトグルで切替えたい、というもの
です。

マクロのxUnderLineとclを利用してみて、下線モードと色の切替えはできたのですが、
下線モードになっているのか、いないのかを知る方法が分りません。

お話変りますが、上記のトライをしているときに以下のような動作になりましたが、
これは本来動作なのでしょうか?

<手順>
1.ファイルタイプ別の設定で、カーソル行にチェックで下線モードを選択してある
 状態で秀丸エディタを起動
2.以下のマクロファイルをマクロ実行で実施
message getconfig ("xUnderLine");
message getconfig("cl");

すると、ブランクのメッセージ、255 255 0のメッセージが表示される

3.ファイルタイプ別の設定で、カーソル行のチェックを外す
 その後、保存しないで更新を押下
 
 するとカーソル行の下線が消える
 →ここまでは理解できます
 
4.上記2のマクロファイルを実行する
 その後、カーソルを上下に動かすと下線が復活する
 →マクロでは現状を参照しているだけなので、下線が復活するのは??と
  思いました。
  
何か勘違いしていると思うこと多々なのですが、よろしくお願いいたします。
 


[ ]
RE:10290 マクロで下線のオンオフを切替えNo.10291
秀丸担当 さん 24/02/07 09:33
 

>2.以下のマクロファイルをマクロ実行で実施
>message getconfig ("xUnderLine");

getconfig関数は、config文のように先頭にxを付けなくていいことになっています。
message getconfig("UnderLine");
とすると、現在の状態がわかります。
ややこしくてすみません。

> その後、カーソルを上下に動かすと下線が復活する
> →マクロでは現状を参照しているだけなので、下線が復活するのは??と
>  思いました。

getconfig("cl");
は本来取得できるものではないのと、下線が復活してしまうのはバグでした。
ご指摘ありがとうございます。
変わってしまわないように修正させていだきます。

下線のON/OFFは、わかりやすく分けて書くと以下のような感じになります。
#f = getconfig("UnderLine");
if(#f==1){
  #f=0;
} else {
  #f=1;
}
config "xUnderLine:"+ str(#f);

//一時的な設定じゃなくするとしたら setconfigstate 0;
endmacro;



参考までの情報としてですが、最近はJavaScriptでオブジェクトで書くこともできま
す。
例:
js{
  c = getconfig({});
  c.UnderLine = (c.UnderLine == 1) ? 0 :1;
  config( c );
}
endmacro;

[ ]
RE:10291 マクロで下線のオンオフを切替えNo.10292
もみじ さん 24/02/07 11:35
 
ありがとうございます!

JavaScript版もありがとうございます。
どちらも動作しました。

両方試してみた結果、JavaScript版は一瞬動作が遅れる気がしたので
パパッとアンダーラインの表示、非常時は切替えたいので通常のマクロを
利用するようにします。

で、すみません。新たに基本的な質問で申訳ないのですが、、、

秀丸エディタと秀丸メールでメールを別ウィンドウで表示させた場合ですが、
マクロメニューで同じマクロが表示されています。

秀丸メール本体側のマクロには、秀丸エディタで登録したマクロは表示されません。

メール側とエディタ側でマクロを分離するにはどうしたら良いでしょうか?

また、メールの別ウィンドウで表示されるマクロとメール本体で表示されるマクロを
同じにするにはどのようにしたら良いでしょうか?


[ ]
RE:10292 マクロで下線のオンオフを切替えNo.10293
秀まるお2 さん 24/02/07 15:36
 
 秀丸メールについて回答します。

 秀丸メールのエディタ・ウィンドウに出てくるマクロメニューは、標準の接待だと
秀丸エディタのマクロメニューがそのまま出てきます。それを独自にカスタマイズす
ることは出来ます。

 秀丸メール本体ウィンドウ上の「マクロ」メニューの中の「マクロ登録...」を実
行して、「エディタ側」のページを選択すると、そこに

 ● 秀丸エディタのマクロメニューをそのまま出す
 ○ 秀丸メール側で指定する

 があるので「秀丸メール側で指定する」にして、あとは下にある欄でマクロを登録
すればいいです。

[ ]
RE:10293 マクロで下線のオンオフを切替えNo.10294
もみじ さん 24/02/07 16:19
 
ありがとうございます!!!!

[ ]