如何让分割条不跟随鼠标移动

解决方案 »

  1.   

    派生一个CMySplitterWnd,对WM_MOUSEMOVE或者WM_LBUTTONDOWN的消息进行屏蔽
    void CMySplitterWnd::OnMouseMove(...)
    {
    // CSplitterWnd::OnMOuseMove(...); // 不要调用
    }
    OnLButtonDown类似
      

  2.   

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
    CCreateContext* pContext)
    {
        if(!m_wndSplitter.CreateStatic(this, 1, 2))
            return FALSE;    if(!m_wndSplitter.CreateView(0, 0, pContext->m_pNewViewClass,
            CSize(880, 800), pContext))
            return FALSE;    if(!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CSettingCtrl),
            CSize(180, 800), pContext))
            return FALSE;    return TRUE;
    }谢谢,如果已经在MainFrame中split了,可以让它不动?
      

  3.   

    可以的,你从CSplitterWnd派生一个类出来,再重载其
    void OnMouseMove(...)
    在其中不要调用基类的 OnMOuseMove(...); 就行了。
      

  4.   

    派生一个自己的SplitterWnd,然后自己处理OnMOuseMove,OnLButtonDown
      

  5.   

    :(预览和设置在splitter的属性页上,比较直观