用CSplitterWnd将窗口拆分成了3部分,希望三个子窗口的分割栏不能被拖动,不知道怎么办?
我做了如下工作,自己从CSplitterWnd派生了一个mysplitter的类(由于MFC的向导不允许直接从CSplitterWnd中派生子类,因此我是先派生了一个基于generic CWnd的类,然后再修改代码,将Public后表示基类的CWnd改成CSplitterWnd的)。然后我又重写了mysplitter的OnLButtonDown,OnMouseMove,OnSetCursor这三个消息响应,都是不做处理直接return,然后用mysplitter实例化了mysplitter_1和mysplitter_2两个对象在CMainFrame的OnCreateClient里来拆分窗口,窗口是拆分成功了,但是发现窗口间的分割栏还是能被拖动,不知道怎么办了

解决方案 »

  1.   

    建议楼主仔细得看看自己的代码。我按照楼主说的方法在自己的计算机上实践,很快实现了楼主说的功能。
    建议楼主再仔细看看自己实现的代码,也许有些地方疏漏了吧。比如声明m_splitterWnd的时候还是用的基类的splitterWnd,等等。
      

  2.   

    郁闷啊,真是出鬼了,我直接在OnLButtonDown里面写了个MessageBox("12345"),当我点击分割条都没有动静,声明对象的时候肯定是不能错的啊,出鬼了...
      

  3.   

    终于搞定了,但是还是不知道怎么回事。我把实例化的对象名mysplitter_1和mysplitter_2改成其它名字就可以了......可能是哪里又用CSplitterWnd定义了这两个名字我没有发现。