如题

解决方案 »

  1.   

    响应WM_NCLBUTTONDOWN消息。
    判断鼠标是不是在工具条上。
      

  2.   

    void CFuckDlg::OnNcLButtonDown(UINT nHitTest, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    if(nHitTest==HTMENU)   //菜单栏
    {
    //Do something here.
    }
    CDialog::OnNcLButtonDown(nHitTest, point);
    }
      

  3.   

    下面的是各种hittest的含义。
    HTBORDER   In the border of a window that does not have a sizing border.
    HTBOTTOM   In the lower horizontal border of the window.
    HTBOTTOMLEFT   In the lower-left corner of the window border.
    HTBOTTOMRIGHT   In the lower-right corner of the window border.
    HTCAPTION   In a title-bar area.
    HTCLIENT   In a client area.
    HTERROR   On the screen background or on a dividing line between windows (same as HTNOWHERE except that the DefWndProc Windows function produces a system beep to indicate an error).
    HTGROWBOX   In a size box.
    HTHSCROLL   In the horizontal scroll bar.
    HTLEFT   In the left border of the window.
    HTMAXBUTTON   In a Maximize button.
    HTMENU   In a menu area.
    HTMINBUTTON   In a Minimize button.
    HTNOWHERE   On the screen background or on a dividing line between windows.
    HTREDUCE   In a Minimize button.
    HTRIGHT   In the right border of the window.
    HTSIZE   In a size box (same as HTGROWBOX).
    HTSYSMENU   In a Control menu or in a Close button in a child window.
    HTTOP   In the upper horizontal border of the window.
    HTTOPLEFT   In the upper-left corner of the window border.
    HTTOPRIGHT   In the upper-right corner of the window border.
    HTTRANSPARENT   In a window currently covered by another window.
    HTVSCROLL   In the vertical scroll bar.
    HTZOOM   In a Maximize button.