問題タブ [custom-draw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - TreeView に CDDS_*ERASE イベントを送信させる方法は?
win32 でカスタマイズされた TreeView を実装しています。次のカスタム描画コードを用意します。
文書化されたすべての方法で、対応する CDRF を CDDS_PREPAINT から返さなければならないというドキュメントにもかかわらず、ビューにメッセージを送信させようとしましたが、CDDS_*ERASE
まったく運がありませんでした。私はまったく不可能なことをしている/望んでいますか?
UPD: カスタム描画はウィンドウ プロシージャで行われます。pResult
が正しく返され、キャッチCDDS_ITEMPOSTPAINT
されて正しく処理されます。トリガーされCDDS_*ERASE
ないままです。
ユースケース: TreeView アイテムが以前の座標から消去される瞬間をキャッチする必要があるため、カスタム クリーンアップ コードを実行できます。はCDDS_ITEMPOSTPAINT
カスタム描画とうまく調和しますが、古いカスタムのものを消去する方法がないため、スクロールとナビゲーション中に描画が複製されます。