4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
GetScrollBarCtrl返回值出错-CSDN论坛
来自 : CSDN技术社区 发布时间:2021-03-24
voidCDestView::OnXScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar)
{
/*intnScrollCode=nSBCode;
//intnPos=(shortint)HIWORD(wParam);
var+=2;
SCROLLINFO
si1={sizeof(SCROLLINFO),
SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS,0,0,0,var,
var};
//::GetScrollInfo(CDestView::GetSafeHwnd(),SB_HORZ, si);
si=si1;
GetScrollInfo(SB_HORZ, si);

//得到视图的位置
//::GetScrollInfo(((CDestView*)GetActiveView())- GetSafeHwnd(),SB_HORZ, si);
//::GetScrollInfo(((CCScorllDemoTestOneView*)GetActiveView())- GetSafeHwnd(),SB_HORZ, si);

intnNewPos=si.nPos;
switch(nScrollCode)
{
//IncludecodethatchecksforothervaluesofnScrollCode.
//...
caseSB_THUMBPOSITION:
nNewPos=nPos+si.nMin;//Addingsi.nMinistheworkaround.
break;
}
si.fMask=SIF_POS;
si.nPos=nNewPos;
SetScrollInfo(SB_HORZ, si,TRUE);*/

//设置视图的位置
//::SetScrollInfo(((CDestView*)GetActiveView())- GetSafeHwnd(),SB_HORZ, si,TRUE);
//::SetScrollInfo(((CCScorllDemoTestOneView*)GetActiveView())- GetSafeHwnd(),SB_HORZ, si,TRUE);


//ScrollWindow(si.nPos,0);
//Invalidate();
//((CDestView*)GetActiveView())- OnXScroll(nSBCode,si.nPos,pScrollBar);


//好使的
/*
intpos,min,max,thumbwidth;

SCROLLINFOvinfo={sizeof(SCROLLINFO),
SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS,0,0,0,0,
0};
GetScrollInfo(SB_HORZ, vinfo);

pos=vinfo.nPos;
min=vinfo.nMin;
max=vinfo.nMax;
thumbwidth=vinfo.nPage;

switch(nSBCode)
{
caseSB_THUMBTRACK://拖动滚动块
ScrollWindow(-(nPos-pos),0);
SetScrollPos(SB_HORZ,nPos);
break;
caseSB_LINELEFT://单击左箭头
if(pos!=0)
{
ScrollWindow(1,0);
SetScrollPos(SB_HORZ,pos-1);
}
break;
caseSB_LINERIGHT://单击右箭头
if(pos+thumbwidth =max)
{
SetScrollPos(SB_HORZ,pos+1);
ScrollWindow(-1,0);
}
break;
caseSB_PAGELEFT://在滚动块的左方空白滚动区域单击
if(pos =thumbwidth)
{
ScrollWindow(thumbwidth,0);
SetScrollPos(SB_HORZ,pos-thumbwidth);
}
else
{
ScrollWindow(pos,0);
SetScrollPos(SB_HORZ,0);
}
break;
caseSB_PAGERIGHT://在滚动块的右方空白滚动区域单击
if(pos+thumbwidth =max-thumbwidth)
{
ScrollWindow(-thumbwidth,0);
SetScrollPos(SB_HORZ,pos+thumbwidth);
}
else
{
ScrollWindow(-(max-(pos+thumbwidth)),0);
SetScrollPos(SB_HORZ,max-thumbwidth);
}
break;
}
*/
// CDestView::ScrollToDevicePosition(CPoint(10,10));也是滚动条随着窗口一起滚动
//CDestView::OnHScroll(nSBCode,nPos,this- GetScrollBarCtrl(SB_HORZ));
pScrollBar=this- GetScrollBarCtrl(SB_HORZ);
this- OnHScroll(nSBCode,nPos,pScrollBar);
//(this- GetActiveView())- (nSBCode,nPos,pScrollBar);用GetActiveView()应该不对
}
在这里调用了voidCDestView::OnHScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar)

本文链接: http://lpintl.immuno-online.com/view-677965.html

发布于 : 2021-03-24 阅读(0)
公司介绍
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://