去掉水平滚动条[转]

//只添加了这部分的代码,已经能去掉了。

void CMyView::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
CScrollView::OnWindowPosChanging(lpwndpos);

// TODO: Add your message handler code here
ShowScrollBar (SB_BOTH, FALSE);
ModifyStyle (WS_HSCROLL, 0, SWP_DRAWFRAME);
}

 

//这部分的代码没有测试

但是为为了能使视图滚动,必须响应ON_WM_HSCROLL(),设置视图的Pos,如下:

void CBaseView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
CPoint pt = GetScrollPosition();
CSize sz = GetTotalSize();
if(nSBCode == SB_LEFT || nSBCode == SB_LINELEFT || nSBCode == SB_PAGELEFT)
{
pt.x -= 10;
pt.x = (pt.x<0)?0:pt.x;
}
else if(nSBCode == SB_RIGHT || nSBCode == SB_LINERIGHT || nSBCode == SB_PAGERIGHT)
{
pt.x += 10;
pt.x = (pt.x>sz.cx)?sz.cx:pt.x;
}
else if(nSBCode == SB_THUMBPOSITION || nSBCode == SB_THUMBTRACK)
{
pt.x = ((LONG)nPos>=0 && (LONG)nPos<sz.cx)?nPos:pt.x;
}
ScrollToPosition(pt);
Invalidate();
}

转载于:https://www.cnblogs.com/Dennis-mi/articles/3386395.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值