|
秀丸担当さん今日は、Iranoan です。
> たしか0msでないとこのイベントを使う目的の効果が得られない場合があるため
> そうしたのだっと思います。
> 遅延があると、カーソル移動してしまい、改行を行ったその行に対しての何らか
> の操作ができないためだったと思います。
こういった場合の対処ということはわかりました。
ただユーザからすると、「自動実行のマクロは、待機時間を過ぎるまで何も
操作がされなかった時に実行されることを期待する」と思います。マウス・ポ
インタが動くぐらいは問題ありませんが。
> 実際のやり直しの内容が無くても、begingroupundoによってやり直しバッファに
> 書き込まれるため、そこから「やり直しのやり直し」はできないです。
> そういう仕様ということでお願いします。
解りました。「何も編集していない」というデータが書き込まれてしまうの
ですね。
ただ「編集後タイマー」の場合、geteventparam() と組み合わせ、
------------------------------------------------------------
if( geteventparam( 0 ) ){
:
:
}
else if( geteventparam( 1 ) ){
:
:
}
else if( geteventparam( 2 ) ){
:
:
}
------------------------------------------------------------
ということは良くやると思います。更に
------------------------------------------------------------
else if( geteventparam( 1 ) ){
if( type == ".htm" )goto HTM_Enter;
esle ( type == ".txt" )goto TXT_Enter;
}
------------------------------------------------------------
とある種の規則で更に分岐することもあります。すると、何も編集しない分岐
は数多く発生します。現在の仕様では、マクロ全体の最初と最後に
begingroupundo, endgroupundo 文を付けると、使い勝手が悪くなり、必然と
して個々の分岐後に begingroupundo, endgroupundo 文を付けなければならな
いず、使いづらいですね。
|
|