看MSDN,OnNotify()是用来处理控件发送消息给父窗口的 但是我怎么也无法实现
我在一个CFrameWnd里添加了一个CListBox控件,重写OnNotify()希望父窗口可以得到CListBox的消息
BOOL CanvasFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
TV_DISPINFO *tv_dispinfo=(TV_DISPINFO *)lParam;
if(wParam == (WPARAM)m_ListBox.GetDlgCtrlID())
{
if (tv_dispinfo->hdr.code==LBN_SELCHANGE)
{
DrawNew();
}
*pResult=TRUE;
}
return CFrameWnd::OnNotify(wParam, lParam, pResult);
}
却无法获得CListBox的消息
我只好换一种方法获得CListBox消息 就是添加消息映射宏:ON_LBN_SELCHANGE(ID_LIST, DrawNew)//ID_LIST是控件ID号 DrawNew()是映射函数
但是为了弄明白 OnNotify()这个函数到底怎么用 像大家请教
要OnNotify()函数的具体实现代码 控件可为任意控件(BUTTON EDIT)等都行,只要OnNotify()函数能实现消息响应就行
谢谢大家了
我在一个CFrameWnd里添加了一个CListBox控件,重写OnNotify()希望父窗口可以得到CListBox的消息
BOOL CanvasFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
TV_DISPINFO *tv_dispinfo=(TV_DISPINFO *)lParam;
if(wParam == (WPARAM)m_ListBox.GetDlgCtrlID())
{
if (tv_dispinfo->hdr.code==LBN_SELCHANGE)
{
DrawNew();
}
*pResult=TRUE;
}
return CFrameWnd::OnNotify(wParam, lParam, pResult);
}
却无法获得CListBox的消息
我只好换一种方法获得CListBox消息 就是添加消息映射宏:ON_LBN_SELCHANGE(ID_LIST, DrawNew)//ID_LIST是控件ID号 DrawNew()是映射函数
但是为了弄明白 OnNotify()这个函数到底怎么用 像大家请教
要OnNotify()函数的具体实现代码 控件可为任意控件(BUTTON EDIT)等都行,只要OnNotify()函数能实现消息响应就行
谢谢大家了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货