マウスの動作に合わせてカスタムドローするには? – プログラミング – Home

マウスの動作に合わせてカスタムドローす...
 
通知
すべてクリア

[解決済] マウスの動作に合わせてカスタムドローするには?


Qoo
 Qoo
(@Qoo)
ゲスト
結合: 20年前
投稿: 25
Topic starter  

開発環境 → VC++6.0 WindowsSDK にて win32API を作成中。
こんにちは、いつもお世話になっています^^Qooと申します。

ドラッグ中のマウスの動きにあわせてリストビューの行の色を変えるということをしよう
と思ってカスタムドローを取り入れました。しかし、マウスの座標が変化してもカスタム
ドローを動かすメッセージ「NM_CUSTOMDRAW」が呼び出されません。
どうやら「NM_CUSTOMDRAW」は描画に変化がある度に呼び出されるようなのですが、マウ
スのドラッグでは描画に変化がないため呼び出されませんでした。
なんとかマウスの座標からカスタムドローを動かす方法はないでしょうか?

普通なら色を変えるためには「選択」してやればいいのですが、リストビューのアイテム
の順番を入れ替えることに使うので「色を変える=選択状態にする」と言うわけにはいか
ないのです^^;


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

InvalidateRect で指定範囲の再描画を促すことができます。

もし、促しただけでは再描画してくれない場合は、
RedrawWindow で強制することもできます。


返信引用
Qoo
 Qoo
(@Qoo)
ゲスト
結合: 20年前
投稿: 25
Topic starter  

RedrawWindowで指定した領域がカスタムドローで描画する領域と重なっている場合のみ
「NM_CUSTOMDRAW」が呼び出されていることが分かりました。
あとはRedrawWindowで指定する領域をマウスの座標ごとに変わるようにするのとカスタム
ドローの操作を一工夫すれば思っていたことが出来そうです!
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました