ドラッグ&ドロップでのスクロールNo.39050
ike さん 10/08/28 15:44
 
秀丸メール5.39を使っています。
秀丸エディタでは、ドラッグ&ドロップを使っての編集の際、ドラッグ中のポインタ
をエディタ画面の上下端に持っていくと自動でスクロールします。
ところが、秀丸メール5.39では下端ではロールアップしますが、上端ではロールダウ
ンしないんです。昔は両方とも動いていたような気もするんですが、よく覚えていま
せん。
WinXP home SP3, 「枠のレイアウト」の設定は2枠区切り(2)で使用しています。なの
で、メールごとにエディタが開きます。
みなさんのところではどうでしょうか。
私、タイピング中にカーソルが消える設定のはずなのが消えなかったり(いまでも再
現します)、メールエディタにはちょっと嫌われているようでして..。

[ ]
RE:39050 ドラッグ&ドロップでのスクローNo.39054
秀まるお2 さん 10/08/28 20:28
 
 今ちょっと簡単にテストした限りでは、上方向でも下方向でも同じくらいの速
度でスクロールするようです。

 キー入力した時にマウスカーソルが消えるのもうまくいってます。

 秀丸メールでのこの辺の処理は秀丸エディタV7.11そのままの処理で、特に最
近になって手を入れたということも無いはずだと思います。だいぶ前からまった
く同じ処理をしてると思います。

 最近になっておかしくなったということでしたら、何かマウスに関係したツー
ルとかドライバーの類が関係してたりってことは無いでしょうか。

[ ]
RE:39054 ドラッグ&ドロップでのスクローNo.39063
ike さん 10/08/31 23:01
 
マウス関係の拡張をすべて外しましたが、状況は変わりませんでした。

で、反応するところを見つけました。
「設定」「秀丸エディタの動作環境...」「表示/操作」「カーソルでスクロールす
る開始位置」の設定が「画面の端」のときに症状が出ます。下端にもっていったとき
にスクロールするけど、上端に持っていってもスクロールしません。
「行数指定」「上下に余裕を持たせる」では上端に持っていったときでも、上方向の
ほうはちょっと遅めにみえますが、スクロールします。

ところで、ドラッグドロップ編集時って、マウスカーソルをキャプチャしないんです
ね。テキストの上下端やエディタウィンドウ内のみにマウスカーソルがあるときしか
スクロールしてくれない。まあそれが正しい動きだとは思いますが、選択拡張スク
ロールとは違う動きなので時々違和感を覚えたりします。

[ ]
RE:39063 ドラッグ&ドロップでのスクローNo.39068
秀まるお2 さん 10/09/01 09:50
 
 詳しい情報ありがとうございます。こちらでテストしたら簡単に再現できまし
た。

 ということでさっそく修正させていただきます。

> ところで、ドラッグドロップ編集時って、マウスカーソルをキャプチャしないんです
> ね。

 ドラッグアンドドロップの場合は、今現在の秀丸エディタ相当のウィンドウ以
外のウィンドウにもドロップ出来る、いわゆるOLE対応のドラッグドロップなの
で、キャプチャしないようになってるようです。

[ ]
RE:39068 ドラッグ&ドロップでのスクローNo.39072
ike さん 10/09/01 20:35
 
β14で正しく動作することを確認しました。早いですね。

あとはキー入力したときにカーソルが消えなくなる条件を見つけ出すことですね。気
長にやります。

[ ]
RE:39072 ドラッグ&ドロップでのスクローNo.39074
秀まるお2 さん 10/09/01 21:13
 
 ちなみにですが、Windowsの標準機能としても、キー入力中はマウスカーソル
を消す設定があります。

 「コントロールパネル・マウス」の「ポインタオプション」というページにあ
ります。

 それを使うといいかもしれないですけど。

 というか、デフォルトでONになってるんじゃないかと思います。僕の所は特に
いじった覚えもないのにONになっていました。

 (WindowsXPの場合)

[ ]
RE:39074 ドラッグ&ドロップでのスクローNo.39090
ike さん 10/09/02 22:03
 
コンパネのほうもONになっています。
秀丸メールでは最初はちゃんと消えるのですが、メールエディタを開いたり閉じたり
しているうちに、いつのまにかタイプしても消えなくなります。
それが安定して再現する条件がわからないんです。何とかして見つけ出します。dump.
txtにそのログを出力するようにしていただいたのですが、そちらにはちゃんとHM:Sh
owCursor(0)が入っているので、奇妙な感じです。

[ ]
RE:39090 ドラッグ&ドロップでのスクローNo.39092
秀まるお2 さん 10/09/02 22:17
 
 今さらながらShowCursor()関数の説明を見たら、「display count」というの
が関係してて、期待通りカーソルが消えてくれないこともありえるような話のよ
うです。

 例えば

    ShowCursor( 1 );
    ShowCursor( 0 );

 だとdisplay countが0になるのでちゃんとカーソルが消えるようですが、

    ShowCursor( 1 );
    ShowCursor( 1 );
    ShowCursor( 0 );

 としたのではdisplay countが1になってカーソルが消えない、というような説
明が書いてあるようです。

 この辺の仕組みをテストして、もし何かミスがあってdisplay countが狂う
ケースがあるとしたら、それをうまく修復するように直そうかなぁと思います。

    http://msdn.microsoft.com/en-us/library/ms648396%28VS.85%29.aspx

[ ]
RE:39092 ドラッグ&ドロップでのスクローNo.39094
ike さん 10/09/02 22:43
 
カーソルが消えなくなったときのログのShow/Hideの数が合っているのかを見ればい
いのですかね。
私にはよくわからないですが、Show/Hideしたときのdisplay counterをdump.txtに出
していただけたらトレースしやすいかなと思いました。

[ ]
RE:39094 ドラッグ&ドロップでのスクローNo.39095
秀まるお2 さん 10/09/02 23:00
 
 テストしてみたら、たしかにShowとHideの数が合ってないとカーソルが出っぱ
なしになったりしてしまうようでした。

 ちょっと昔のことを忘れてしまってて申し訳ないですが、今さらながら、
ShowCursor関数の説明をよく理解してなかった僕が悪かったということになると
思います。

 ということで大変失礼しました。

 次のβ版では大丈夫だと思うので、すみませんがそれでまた様子見していただ
くということでお願いしたいです。

 次のβ版は、出来たら明日アップロードします。

[ ]
RE:39095 ドラッグ&ドロップでのスクローNo.39107
ike さん 10/09/03 21:19
 
ありがとうございます。
β15を使い込んでみて、何かあれば報告します。

[ ]
RE:39095 ドラッグ&ドロップでのスクローNo.39176
ike さん 10/09/14 22:34
 
β15を一週間使ってみました。ばっちりです。
一度もカーソルが消えなくなることはありませんでした。
ありがとうございました。

[ ]