在窗口分割时,如何固定分割线?

High3Hand 2003-06-13 05:20:21
特别是在分割后的视图含有CFormView类时,是不是只有固定分割线才能彻底消除滚动条呀?
多谢!!!
...全文
350 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhb1284 2003-06-14
  • 打赏
  • 举报
回复
我的解决方法是,从CSplitterWnd派生一个类,如下
class CSmartSplitterWnd : public CSplitterWnd
{
public:
CSmartSplitterWnd();
virtual ~CSmartSplitterWnd();
int HitTest(CPoint pt)const;
protected:
DECLARE_MESSAGE_MAP()
};
在HitTest中对鼠标事件屏蔽掉就可以了!
int CSmartSplitterWnd::HitTest(CPoint pt)const
{
ASSERT_VALID(this);
// do not allow caller to see mouse hits
return 0;
}
grey_whp 2003-06-14
  • 打赏
  • 举报
回复
遇到了同样的问题,十分关注
cwkxm 2003-06-14
  • 打赏
  • 举报
回复
这篇文章里有介绍:(是 WinZip用压缩的)
http://www.soft168.com/download/download1.asp?downid=1&id=1180
BinaryPoet 2003-06-14
  • 打赏
  • 举报
回复
对!也可以将OnSetCursor函数重载,直接返回。
jjqiao710102 2003-06-13
  • 打赏
  • 举报
回复
查CSplitterWnd类中没公开的几个虚函数。有几个是控制鼠标指针的。
High3Hand 2003-06-13
  • 打赏
  • 举报
回复
对于第一个问题,我试了一下,分割条可以固定,但是,有一点让人觉得有点遗憾。就是当鼠标停在分割条上的时候,鼠标指针会仍会变成双箭头的形状,提示用户可以移动分割条,而实际非也。不知道有没有解决的办法。
第二个问题,解决的很完善。
在此谢谢BinaryPoet老师了。
BinaryPoet 2003-06-13
  • 打赏
  • 举报
回复
1.如果你要让分割条固定,从CSplitterWnd派生一个新的类,处理WM_LBUTTONDOWN消息响应函数,将该函数置为空函数。
2.如果你想让FormView不含有滚动条,将它的OnSize重载如下:
C&&FromView::OnSize(*****)
{
CView::OnSize(***);//<-注意,不要调用CFormView的OnSize();
ShowScrollBar(SB_BOTH,FALSE);
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧