描述:
我自绘工具条,想放射TBN_DROPDOWN实现下拉菜单按钮,奇怪的是居然发射消息不成功,但是反射了其他消息又可以,比如说NM_CUSTOMDRAW,我跟踪到函数调用栈里面,发现是直接调用了基类的响应函数,既然消息可以流到基类去,没有可能子类处理不到啊。
代码如下:
BEGIN_MSG_MAP(CGtoToolBarCtrlImpl)
MESSAGE_HANDLER( WM_ERASEBKGND ,OnEraseBackground )
MESSAGE_HANDLER( WM_SIZE , OnSize )
REFLECTED_NOTIFY_CODE_HANDLER(NM_CUSTOMDRAW, OnCustomDraw)
REFLECTED_NOTIFY_CODE_HANDLER(TBN_DROPDOWN, OnDropDown)
DEFAULT_REFLECTION_HANDLER()
CHAIN_MSG_MAP(baseClass)
ALT_MSG_MAP(1) // Parent window messages
//NOTIFY_CODE_HANDLER(TBN_DROPDOWN, OnDropDown)
CHAIN_MSG_MAP_ALT(baseClass,1)
ALT_MSG_MAP(2) // MDI client window messages
CHAIN_MSG_MAP_ALT(baseClass,2)
ALT_MSG_MAP(3) // Message hook messages
CHAIN_MSG_MAP_ALT(baseClass,3)
END_MSG_MAP()
您可能想查找下面的文章:
- 看了一下WTL,对这个代码看不懂
- 要用atl写个控件,涉及到界面的,怎么将wtl和atl结合起来用呐?用wtl来做控件的界面
- 在ATL中使用WTL中的CFileDialog实现预览功能出现的不刷新问题,高手进
- 使用WTL库,编译提示“cannotopenincludefile"atlresh"”,这是怎么回事?
- WTL能否用于ATL做COM组件的界面?需要注意什么?
- WTL中,怎么改变lineto画线的颜色和粗细?
- WTL问题,MainFrame加一个Destory响应怎么会这样
- 请大家帮忙看看这个:关于wtl
- WTL,CCodePageCombo继承CComboBoxT<ATL::CWindow>类,需要响应下拉菜单CloseUp的消息
- WTL下如何添加Mediaplayer控件