1. REFLECT_NOTIFICATIONS macro
笔者(就不自称寡人了),试验了两天两夜,终于有些要领了。
我的主窗口,不加REFLECT_NOTIFICATIONS 或者
REFLECT_NOTIFICATIONS_EX,自绘的CListBox Items就显示不出来。
---- ---- ----
在WTL使用中,需要注意的是CListBox风格 |= LBS_OWNERDRAWFIXED和LBS_HASSTRINGS,需要在消息宏添加REFLECT_NOTIFICATION()以支持自绘消息。
这个宏调用的是函数CWindowImplRoot::ReflectNotifications。这个函数通过参数取得发送事件控件的窗体句柄,并通过该句柄将事件发还给控件.
2. 如何继承
class CMyListBox : public CWindowImpl<CMyListBox
, CListBox>, public COwnerDraw<CMyListBox>
千万不要直接继承CListBox,(那是MFC),
我们必须继承于CWindowImpl类,否则我们将得不到任何的窗体消息。