CTreeCtrl の特定のノードでドラッグ アンド ドロップを無効にする方法はありますか?
ノードを同じツリー内の同じノードの子にドラッグしたり、同じノードまたはその子の 1 つにリンクされているリストビューにノードをドラッグしたりしないようにしたいと思います。
CTreeCtrl の特定のノードでドラッグ アンド ドロップを無効にする方法はありますか?
ノードを同じツリー内の同じノードの子にドラッグしたり、同じノードまたはその子の 1 つにリンクされているリストビューにノードをドラッグしたりしないようにしたいと思います。
マウス移動ハンドラーでドロップターゲットをどのように処理するかによって異なります。
機能を防ぐことはできませんTVN_BEGINDRAG
。ただし、アイテムをまったくドラッグしない場合は、常にSetDropTarget(NULL)
マウス移動ハンドラーで使用し、ドラッグが停止した場合は何もしません。
アイテムのドラッグが許可されている場合は、ターゲットが許可されているかどうかを確認するだけです。HitTest
目的のアイテムを見つけるために使用し、ここでドロップが許可されているかどうかを確認できます。もう一度使用しますSetDropTarget
。したがって、ユーザーは何が許可されているかを確認できます。
もう 1 つの方法は、このサンプルのようにOle ドラッグ & ドロップ機能を実装することです。