+ -
当前位置:首页 → 问答吧 → 在CFormview中绘制图形问题

在CFormview中绘制图形问题

时间:2011-12-16

来源:互联网

项目要求绘制一个关于时间和电流(为浮点型)关系的图形, 数据来源于文件,由于时间一般为2小时左右,分辨率为1s,这样大概就有7200左右个点,想通过在CFormView中使用其滚动条把所有的图形绘制出来。
 问题一:  
我想通过水平滚动条的位置在onDraw中重绘,我该通过什么函数获取滚动条位置信息?
 问题二:
  另外现在没有获取滚动条位置,直接在ondraw中重绘,在拖动滚动条从左到右时正常,但是拖回来之后发现有重复的图形,这是为什么?
  本人菜鸟,大侠多指点?

作者: sky_ghm   发布时间: 2011-12-16

OnInitialUpdate() 主要是设置滚动条的,你看看对你有没有用

作者: K901209   发布时间: 2011-12-16

引用 1 楼 k901209 的回复:

OnInitialUpdate() 主要是设置滚动条的,你看看对你有没有用

我不是想设置,而是滚动条设置之后,想获取滚动条当前所在的位置,根据位置重绘图形,目前我设置滚动条如下
void CDrawCatchPicView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();

CSize sizeTotal(40000,0); //水平滚动条滚动范围:25000,垂直滚动条滚动范围:40000

  CSize sizePage(sizeTotal.cx / 3,sizeTotal.cy / 3); 
  CSize sizeLine(sizeTotal.cx / 100,sizeTotal.cy / 100);  
  SetScrollSizes(MM_TEXT,sizeTotal,sizePage,sizeLine); //设置滚动模式


GetParentFrame()->RecalcLayout();
ResizeParentToFit();

}
使用GetScrollPos(SB_HORZ);获得的值老是13333就是40000/3那个值,我该怎么能获得到当前关于滚动条的位置的值

作者: sky_ghm   发布时间: 2011-12-16

热门下载

更多