VB中HScrollBar的Value值只能取-32,768 到 32,767 范围之间的一个整数,有什么办法可以改变其最大取值范围吗??
我的应用程序中与HScrollBar的Value值相关联的数据个数达10M左右,请高手指点一二,不胜感激!!
(注意:只能一对一,不能一个Value值对应多个数据!)

解决方案 »

  1.   

    VB中HScrollBar的Value值只能取-32,768-32,767范围之间的一个整数,这是有道理的。实际上,足够用了;如果数据超出了这个范围,可按比例划分,使其在-32,768-32,767这个范围内。比如:音量取0-100就够了,操作系统就是这么干的。具体问题具体分析,都要象你这么干,没法解决实际问题
      

  2.   

    不知chenjl1031 先生有没有接触过VC,其HScrollBar的Value值就是按照长整型定义的!也就是说最大值可以取道43M左右!
      

  3.   

    亦知修改控件有难度,也曾试过当HScrollBar拖到最大值时,改用用换页的方式。比如设置一个页变量Pages,每当HScrollBar拖到最大值时Pages就加1,然而问题在于切换点处难以控制,可能一次翻过很多页,而VB HScrollBar控件没有提供更好的控制方法。敬请高人请教!!
      

  4.   

    说的更具体点:比如有10,000,000个采样数据(每个数据对应1us)要用曲线图形显示出来,因为HScrollBar的Value值只能取-32,768~32,767,因此我只能用1个Value值对应1ms,倘若对曲线放大后每屏显示500个数据,如此一来,一次至少就要翻1ms的数据(1000个),拖动滑块时就会出现图形的跳跃,造成部分数据无法显示。故而有此疑问,敬请指教!
      

  5.   

    使用Microsoft Forms 2.0 Object Library中的ScrollBar控件
      

  6.   

    没错,windows的ScrollBar的确是长整型。如果楼主实在需要恐怕就只能使用其他控件了。比如Anole2就不错,当然也可以用代码创建一个ScrollBar,不过有点烦而已。
      

  7.   

    楼主想法太死板,这个问题完全可以用下面的方法解决:
    ScrollBar用来粗调每次调1万,再用两个按钮,一个向后翻,一个向前翻,每次调100
    不就好了么。
    至于你说VC的HScrollBar的Value最大值可以取到43M左右,那要是你碰到个数组有上亿个元素,你准备怎么办?
      

  8.   

    谢谢jadeluo!我使用Microsoft   Forms   2.0   Object   Library中的ScrollBar控件试了一下,确实可以满足要求,深表感激之情!不过,还有点小问题,为何ScrollBar控件的tabstop属性设为false后不起作用,即:点击或拖动ScrollBar的滑块后,滑块一直处于闪烁状态。敬请赐教!致谢!