[WTL]CListBox的重绘

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类,否则我们将得不到任何的窗体消息。


原文地址:https://www.cnblogs.com/healerkx/p/2158160.html