单文档之于工具条消息

来源:互联网 发布:优化网站实例 编辑:程序博客网 时间:2024/06/05 02:04

程序有个要求:捕获浮动工具条标题栏单击消息:


HWND hwndToolBarDlg;定义接受句柄的变量,通过此句柄判断是哪个工具条收到消息,此处要获得句柄的对象为m_wndWBToolsub

在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数创建toolbar后引用以下代码:

CWnd* pToolBarDlg;//工具栏的父窗口(对话框)pToolBarDlg=   ( CWnd* ) (m_wndWBToolsub.m_pDockBar);pToolBarDlg= pToolBarDlg->GetParent();if( pToolBarDlg->IsKindOf(RUNTIME_CLASS(CMiniFrameWnd))){hwndToolBarDlg= pToolBarDlg->GetSafeHwnd();//对话框的句柄}

后在BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)函数中去捕获消息,代码如下:

BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) {// TODO: Add your specialized code here and/or call the base classif(pMsg->message == WM_NCLBUTTONDOWN) // 非client区域的单击消息{if(pMsg->wParam == HTCAPTION) // 光标所在区域为标题栏{if ( pMsg->hwnd == hwndToolBarDlg)//hwndToolBarDlg{HideSubToolbar();return TRUE;}}}return CFrameWnd::PreTranslateMessage(pMsg);}



 

原创粉丝点击