我有一个 WTL81 应用程序。CMainFrame 有一个子 CPaneContainer,它有一个子窗口 CTreeViewCtrl。问题是 CTreeViewCtrl 没有收到 TVN_SELCHANGING 消息。
我已经“窥探”了 CTreeViewCtrl 和他的父级(CPaneContainer),但没有收到任何通知代码。
CMainFrame 是从 public 实现的CFrameWindowImpl<CMainFrame>
CPaneContainer 是这样实现的
class PaneContainerReflectNotif : public CPaneContainer
{
BEGIN_MSG_MAP(PaneContainerReflectNotif)
CHAIN_MSG_MAP(CPaneContainer)
REFLECT_NOTIFICATIONS()
END_MSG_MAP()
};
树是这样实现的
class MyTreeView :
public CWindowImpl<CatalogTreeView, CTreeViewCtrl>,
public CCustomDraw<CatalogTreeView>,
public CTheme
...
BEGIN_MSG_MAP_EX(MyTreeView )
MSG_WM_CREATE(OnCreate)
MSG_WM_DESTROY(OnDestroy)
REFLECTED_NOTIFY_CODE_HANDLER_EX(NM_DBLCLK, OnDblClick)
REFLECTED_NOTIFY_CODE_HANDLER_EX(TVN_ITEMEXPANDING, OnItemExpanding)
REFLECTED_NOTIFY_CODE_HANDLER_EX(TVN_SELCHANGING, OnSelChanged)
OnDblClick -工作正常
OnItemExpanding -工作正常
OnSelChanged - 不工作
关于可能是什么问题的任何想法?