通过在窗口类中包含下列消息处理程序,可以阻止一个标题栏上的双击影响窗口
void CMainWindow::OnNcLButtonDblClk(UINT nHitTest, CPoint point)
{
         if(nHitTest != HTCAPTION)
                CWnd::OnNcLButtonDblClk(nHitTest, point);
}上面代码怎么理解,为什么这么写?

解决方案 »

  1.   

    if(nHitTest != HTCAPTION) 表示如果是双击标题栏则什么都不做,因此窗口也不会被影响
      

  2.   

    那我就解释下面一句吧。
    CWnd::OnNcLButtonDblClk(nHitTest, point);
    窗体标题双击的原有功能被保存执行。
    整体这个意思就是:
    它把双击事件给禁止了。
      

  3.   

    哈哈,楼主看的是《MFC windows程序设计》那本书上的代码吧,我也看过这本书。。
      

  4.   

    因为正常情况下,双击标题栏是会最大化窗口的
    当双击窗口后nHitTest会被赋值,如果双击标题栏会被赋值为HTCAPTION
    如果你不想让程序双击标题栏把窗口最大化
    那就要将这种情况排除掉,即:
    如果我双击了标题栏
    拦截这种情况,即不执行nHitTest==HTCAPTION时的情况