2
我想为我的G15小程序绘制一个垂直滚动条,但难以正确定位(如果您没有为G15 LCD屏幕做过任何操作,请将其视为在160x43像素上绘图图片)。计算滚动条位置
这是我的当前的定位代码:
perc = (float)Math.Round(range/Items.Count+1);
y = (perc * SelectedID+1);
滚动条的上边缘是在5像素的从顶部,底部边缘是在32PX。在这种情况下,Y将是滚动条的上端,我使用2像素的长度;我确实尝试了一个可变长度的栏,它和上面的代码一样。 SelectionID为0。
所有我需要的是算出位置的数学,不需要绘制代码。
谢谢。
谢谢,这让我接近我需要的地方。我实际上需要(c * y)/(b - 1),它的行为方式与滚动条相同。 – Measter 2009-09-10 17:40:30
一个非常优雅的公式 - 作为开发人员(不是数学专家),这是黑魔法,就像“磁铁,它们是如何工作的?”。 – cloakedninjas 2013-07-03 16:11:34