我用CSplitterWnd类创建上下两个窗口,上面用ListView,用于显示数据库记录,下面是CFormView,放一些窗口,用于显示每条记录的字段,且CForView的窗口上面(也就是在分割线下)要放一工具条,用于修改、删除当前记录的。问题是:1.如何使分割线不被用户拖动,也就是上下两个窗口固定大小不动。
2.上面的想法能做到吗?谢谢!

解决方案 »

  1.   

    锁定切分条的方法就是不让CSplitterWnd来处理WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSOR消息,而是将这些消息交给CWnd窗口进行处理,从而屏蔽掉这些消息。
    拿WM_LBUTTONDOWN处理过程来说。修改为如下: 
    void CXXSplitterWnd::OnLButtonDown(UINT nFlags,CPoint point) 

            CWnd::OnLButtonDown(nFlags,point);
    } http://www.vckbase.com/document/viewdoc/?id=192
      

  2.   

    http://dev.csdn.net/develop/article/28/28551.shtmhttp://dev.csdn.net/develop/article/28/28430.shtm
      

  3.   

    从CSplitterWnd派生一个类CSplitterWndEx,并且重载HitTest方法,使之始终返回noHit
      

  4.   

    用SplitterWnd分为三分,中间那一分也是Formview,在上面放按纽来实现。不用工具栏的,
    你又不用浮动等。而且用工具栏,把它归谁管理呢,都不好。不如用View来处理消息。
      

  5.   

    m_pwndBar=new CToolBar;
    if(!m_pwndBar->Create(this,CBRS_SIZE_DYNAMIC|CBRS_FLOATING)||
    !m_pwndBar->LoadToolBar(IDR_FULLSCREEN))
    {
    TRACE0("Failed to create toolbar\n");
    return;      // fail to create
    }
      

  6.   

    请各位网友听好了,现在我也经叫朋友建了一个
    专门用于csdn.net各位程序爱好者的群,请各位
    留意以下号码:983270
    这个是QQ群的ID
    请各位有兴趣者加入
    以方便在线近探讨问题
    在此感谢QQ号为199981991的网友    SOSOΦ羊
      

  7.   

    你们说的光标和宽度问题在 enoloo(努力COM) 的文章里都有解决啊
      

  8.   

    to enoloo(努力COM) 
    文章中的方法很不错,既简单又有效:)谢谢
      

  9.   

    我记得enoloo不是写过这个文章吗?呵呵^_^进来替他做个广告吧