那一个button control,用的是based on button,事实上它本质也就是用CContainwindow建一个成员变量
CContainedWindow m_ctlButton; CButtonctrl() :
m_ctlButton(_T("Button"), this, 1)
{
m_bWindowOnly = TRUE;
}在消息中,我用
BEGIN_MSG_MAP(CFlexButtonctrl)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
// COMMAND_HANDLER(1,BN_CLICKED, OnClick) //[1]
CHAIN_MSG_MAP(CComControl<CFlexButtonctrl>)
ALT_MSG_MAP(1)
// Replace this with message map entries for superclassed Button
MESSAGE_HANDLER(BN_CLICKED,OnClick); //[2]
END_MSG_MAP()
用这两个方法,都不能得到Button的click的消息呢??
CContainedWindow m_ctlButton; CButtonctrl() :
m_ctlButton(_T("Button"), this, 1)
{
m_bWindowOnly = TRUE;
}在消息中,我用
BEGIN_MSG_MAP(CFlexButtonctrl)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
// COMMAND_HANDLER(1,BN_CLICKED, OnClick) //[1]
CHAIN_MSG_MAP(CComControl<CFlexButtonctrl>)
ALT_MSG_MAP(1)
// Replace this with message map entries for superclassed Button
MESSAGE_HANDLER(BN_CLICKED,OnClick); //[2]
END_MSG_MAP()
用这两个方法,都不能得到Button的click的消息呢??
将CFlexButtonctrl的基类也要写在宏BEGIN_MSG_MAP()中,这样
就能够继承基类的消息了,
BEGIN_MSG_MAP(CFlexButtonctrl,C*******)
~~~~~~~~
基类你试一下吧,
如果不行,再就将宏 MESSAGE_HANDLER 改为 ON_MESSAGE