CSVモード時のダブルクリックの単語の選択No.37404
hawk-eye さん 19/06/30 15:29
 
Windows 10 Pro (64ビット版)
秀丸エディタ Version 8.88 (64ビット版) 使用

CSVモードにおいて、ダブルクリックで単語の選択をする場合ですが、
ファイル内容を表示する範囲の端っこでもないのに、
表示の横位置が調整されてしまう場合があります。

●以下の2行のみが記されたファイルがあるとします。
abcdefghij,あいうえおかきくけこさしすせそたちつて,abcdefgh,1,,2019.06.30,
abcdefghijklmnopqr,,abcd,123,,,

●手順
1.上記内容で、秀丸エディタをCSVモードにして71カラム分表示できるようにします。
2.2列目の先頭が一番左端に表示されるようにします。
3.3列目か4列目をダブルクリックして単語の選択をすると横の表示位置がずれます。

表示範囲の端っこでもないのに、ずれるのは止めて欲しいです。

よろしくお願い致します。

以上

[ ]
RE:37404 CSVモード時のダブルクリックのNo.37411
秀丸担当 さん 19/07/01 10:03
 

71カラム分表示というのは、1列目が表示されている状態で、1行目「1,」の右の
「,」が見えるか見えないくらいのウィンドウ幅ということかと思います。
それで手順通りにしてみたところ、うまく再現できていないです。
2列目の「あ」が一番左端に来るように横スクロール位置を調整して、「abcdefgh」
をダブルクリックすると、横スクロールは発生せず、単語の選択ができるようでした。

ただその後ウィンドウサイズを変更しようとすると、横スクロール位置は先頭になっ
て、これは不自然と思います。ウィンドウサイズ変更時に横スクロールが変わらない
ようにできないか調べてみます。

[ ]
RE:37411 CSVモード時のダブルクリックのNo.37412
hawk-eye さん 19/07/01 10:37
 
違います。
71カラム分表示というのは、1列目が表示されている状態で、2行目「123,」の右の
「,」までが見えるウィンドウ幅です。

2行目の行頭にカーソルがある状態で、左矢印キーを押すと1行目の行末に移動しま
す。
その時、2列目の「あいうえおかきくけこさしすせそたちつて」が一番左端になります。

念の為、設定ファイルをメールで送付しました。

[ ]
RE:37412 CSVモード時のダブルクリックのNo.37413
秀丸担当 さん 19/07/01 11:01
 

設定ファイルを受け取りました。ありがとうございます。
試してみたところ、ダブルクリックにはマクロが割り当てられいるようでした。
マクロの内容はわかりませんが、もしdisabledrawをしているマクロだとしたら、そ
ういうことになると思います。
そうだとして、マクロのdisabledraw/enabledrawを外してみると効果があるかもしれ
ません。

ウィンドウサイズ変更時の横スクロール位置の調整の件は、調べてみたところ、サイ
ズを広げたときに余りが出ないようなことのためにしていて、変更すると逆に問題に
なるかもいれないのでやめておこうと思います。

[ ]
RE:37413 CSVモード時のダブルクリックのNo.37414
hawk-eye さん 19/07/01 11:36
 
すみません。
マクロを割り当てていたのをすっかり忘れていました。
マクロは、以下のものを使用していました。

単語選択拡張
https://hide.maruo.co.jp/lib/macro/selectword2.html

上記マクロの
 disabledraw;
の次の行に
 setcompatiblemode 0x00400000;  //「前のカーソル位置」は変更させない
が追加されています。

マクロのdisabledraw/enabledrawを//でコメントアウトしたら、
1行目の3,4列目、2行目の4列目をダブルクリックしても表示がずれなくなりました。
しかし、2行目の3列目「abcd」をダブルクリックした場合だけは今も表示がずれてし
まいます。

[ ]
RE:37414 CSVモード時のダブルクリックのNo.37415
秀丸担当 さん 19/07/01 13:18
 

2行目の「abcd」のときは、マクロでいったん左移動しているようなので、そうなっ
てしまうのは仕方が無いです。
なんとかするとしたら、enabledrawは縦スクロールの位置を調整する方法があります
が、これと同じように横スクロールを調整する方法があればいいと思います。
そういうパラメータも検討しようと思います。

[ ]
RE:37415 CSVモード時のダブルクリックのNo.37417
秀丸担当 さん 19/07/02 13:45
 

V8.89β11で、enabledrawのパラメータを追加してみています。
disabledrawからenabledrawを以下のような感じにするとスクロール位置ができるだ
け維持されやすくなります。

#screentopy = screentopy;
#screenleftx = screenleftx;
disabledraw;
//〜何らかの処理
enabledraw #screentopy, #screenleftx;

[ ]
RE:37417 CSVモード時のダブルクリックのNo.37418
hawk-eye さん 19/07/02 16:06
 
対応ありがとうございます。
試した結果、スクロール位置が維持されるようになりました。

[ ]