首页 > 代码库 > mfc分个窗口,设置分割条不可移动
mfc分个窗口,设置分割条不可移动
最近要做一个项目,做界面时遇到了这个问题,找了好多资料,终于解决了,在此记录一下,希望对有需要的人有所帮助。好了,不多说了,具体的处理如下:
新建一个类CFixSplitterWnd继承CSplitterWnd,添加
ON_WM_LBUTTONDOWN()
ON_WM_SETCURSOR()
ON_WM_MOUSEMOVE()
三个消息的响应,主要代码如下:
头文件
1 protected:2 afx_msg void OnLButtonDown(UINT nFlags, CPoint pt);3 afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);4 afx_msg void onm ouseMove(UINT nFlags, CPoint pt);5 DECLARE_MESSAGE_MAP()
源文件
BEGIN_MESSAGE_MAP(CFixSplitterWnd, CSplitterWnd) ON_WM_LBUTTONDOWN() ON_WM_SETCURSOR() ON_WM_MOUSEMOVE()END_MESSAGE_MAP()void CFixSplitterWnd::OnLButtonDown(UINT nFlags, CPoint point){ // 直接返回,不处理 return; }BOOL CFixSplitterWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message){ // 当光标进入分割窗口时,不允许改变样子,不处理 return FALSE; }void CFixSplitterWnd::OnMouseMove(UINT nFlags, CPoint point){ //将CSplitter类的处理改为由CWnd处理 //CSplitterWnd::OnMouseMove(nFlags, point); CWnd::OnMouseMove(nFlags, point); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。