.NET TreeViewコントロールから派生したC#クラスでここにリストされているツリービュー通知を処理するにはどうすればよいですか?
たとえば、次のようにクリック通知を処理しようとしました。
class ExtendedTreeView : TreeView
{
private const Int32 NM_FIRST = (Int32)(0U - 0U);
private const Int32 NM_CLICK = unchecked((Int32)((UInt32)NM_FIRST - 2U));
protected override void WndProc(ref Message m)
{
if (m.Msg == NM_CLICK)
{
MessageBox.Show("NM_CLICK");
}
base.WndProc(ref m);
}
}
ただし、メッセージボックスは表示されません。Win32 APIを使用して.NETコントロールの動作を変更しようとするのはこれが初めてなので、何が問題になるのかわかりません。
これは、これらの通知を処理するための正しいアプローチですか?
参考:.NETTreeViewコントロールにクリックイベントがあることは知っています。これは最初のテストです。TVS_EX_MULTISELECT
後でスタイルを有効にしたい。.NET TreeViewコントロールは、が有効になっているAfterSelect
場合はイベントを発生させないため、後で通知の動作をTVS_EX_MULTISELECT
調査したいと思います。TVN_SELCHANGED
TVN_ITEMCHANGED