ダブルクリックからの範囲選択は、機能コードがF_SELECTWORD
のときにのみ動作するように変更しました。
-------------------------------------------------------
macro:380 ダブルクリックにマクロを割り付けた時の挙動について
2007/7/7 (土) 11:06:51 マクロ勉強中
メッセージボックスなどポップアップウインドウなど出すマクロを
ダブルクリックに割り付けた場合、ダブルクリックした場所と
マウスカーソルの間が反転表示されるようになります。
こうなると適当な場所を再度マウスでクリックする以外には
この状態から抜け出すことが出来なくなり、キーボード操作も
ファンクションキー以外は受け付けられなくなります。
-----------------------------------------------------
dev:4914 ダブルクリックからドラッグ
2007/7/8 (日) 21:10:24 maru
macro:380ですが、CEditView::OnLBUTTONDBLCLKではダブルクリック
して左ボタンを離さずにそのままドラッグしたときに、範囲選択できる
ようにしているみたいです。
で、メッセージボックスなどを表示させるマクロを実行すると、
CEditView::OnLBUTTONUPを通過しないので、おかしなことになります。
----------------------------------------------------
dev:4917 Re:ダブルクリックからドラッグ
2007/7/9 (月) 13:36:32 ryoji
CEditView.cpp(4568)
m_bBeginWordSelect = TRUE; /* 単語単位選択中 */
から察するに「ダブルクリック=単語選択」を前提とした処理
になってると思います。例えば「ダブルクリック=全選択」とした場合
だったら、続けて単語単位選択モードに突入するのは変ですよね。
ダブルクリックドラッグで単語選択継続するのはメモ帳をはじめとして
標準的なエディタ挙動だと思うので、使っている人の多少に係らず
残しておくのが無難かと思います。
というわけで、「ダブルクリック=単語選択」の場合だけ
ダブルクリックドラッグで単語選択継続するのが妥当なのでわ?
Logged In: YES
user_id=86076
Originator: NO
とりあえずはOKかと思います.
ですが例えばダブルクリックで行選択にした場合は,
そのまま行選択になって欲しいとか
シングルクリックで単語選択だったらどうなるのとか.
考え始めるときりがありません.
たぶんコマンドがマウスから発行された場合には
単語単位選択機能の方でドラッグ開始するのが
本筋かもしれませんね.
コマンドがどこから来たかはHandleCommandの
上位ワードを使えるようになっていますが,
マクロ自動実行の修正でもぞもぞ中なので
ここは今回の修正で問題ないような.
(まだ試してないけど)
Logged In: YES
user_id=1480232
Originator: YES
シングル/ダブル、さらにはどのボタンなのかに関係なく
マウスからの単語選択に続けてドラッグした場合は…
という意味ですね。なるほど、確かに。
影響範囲は少なそうなので、暫定である旨を
コメントでうたって、適当なタイミングで
クローズしちゃいましょうか。
Logged In: YES
user_id=86076
Originator: NO
暫定的な変更ではありますが,クレームされた方も直ったと喜んでいるようですし,
とりあえずcommitしました.
sakura/trunk#1114