MFC添加滚动条

来源:互联网 发布:科列技术 知乎 编辑:程序博客网 时间:2024/05/28 15:04

1:在项目的资源视图里面的对话框界面添加滚动条控件

2:在类中添加滚动条变量 CScrollBar m_ScrollBar; ,滚动相关参数

3:在接收完服务端的数据的之后

SCROLLINFO si;

 si.cbSize = sizeof (SCROLLINFO) ; 
 si.cbMask = SIF_RANGE | SIF_PAGE|SIF_POS; 
 si.nMin = 0 ; 

//显示的礼包如果超过6个则滚动条显示
 if(m_GiftVec.size()>6)

{

m_nScrollPosMax=((m_nGiftCount)/3+1)*NUMLINE;//一行显示三个礼包,NUMLINE是一个礼包的窗口高度(像素)

}

else

{

m_nScrollPosMax=0;

m_ScrollBar.ShowWindow(SW_HIDE);

}

si.nMax = m_nScrollPosMax ; 
 si.nPage =320;//320是滚动一页的高度 ,相当于显示区域高度
 SetScrollInfo (hwnd, SB_VERT, &si, TRUE) ;

redrawwindow();

4:在onerase()消息映射或onpaint中绘画出礼物窗口

大致的流程

for(int i=m_nScrollPos/NUMLINE*3,int j=0;i<m_nGiftCount&&j<6;i++,j++)

{

    if(byHang==3)

byHang=0;

   m_ImageGiftFrame.DrawImage(pBuffer,nXBase,nYBase);

   if(m_GiftVec[i].dwGiftID)

  {

  }

}

5:接下来就是响应onvscorll了,在这之前要先把滚动条显示礼物这些显示出来

0 0
原创粉丝点击