2014-02-25 24 views
0

我使用OpenGL从头开始创建自己的UI,这就是为什么我要问这个问题,请不要灰心,因为这只是一个业余爱好项目。如何确定滚动区域的内容步骤值

目前,我卡住实施这个滚动条真的如何工作。在我目前的实施中,content会滚动错误的步长值以及thumb,这意味着,我为每个值手动设置了像1px这样的值。

我的滚动实施的结构描述如下:

  • 我画滚动条即主要的矩形,其中3个按钮的谎言。
  • 这3个按钮是,thumb,buttonBackbuttonNext
  • 他们都做滚动条的基本逻辑,即当我点击其中的每一个,他们移动。但整个部分(滚动)不知道如何滚动contents
  • 所以,我做的是:我让另一个对象,我把它叫做scrollarea
  • 它有两个滚动条,垂直和水平滚动条。
  • 我做了一个叫scrollToXscrollToY的函数,其中 做我给他们命名的。
  • 但我设置给他们的步骤值是 手动设置。

我尝试谷歌一些scrollbarscrollareascrollview或者无论你怎么称呼到滚动矩形的事情,但我看到的是执行,我无法找到任何导游如何建立你自己的。我别无选择,只能看看他们的实施。我尽我所能去理解他们做了什么,但是他们的整个UI结构与我的完全不同,我找不到有用的东西。

所以我再问这里是否有人可以解释我如何制作一个功能正常的滚动条

我真的很关心的

最具体的事情是:

  • 如何确定thumb step value
  • 如何确定content step value

回答

0

所有这些都取决于你的内容 -

  • 是它只是一个形象?如果是这样,您只需要根据图像的大小更改偏移量。

  • 它是像Windows资源管理器中的值列表?然后,您需要首先创建一个包含所有内容的数据结构,并在滚动时显示适合窗口的内容。

OpenGL不适合这个讨论。

+0

让我们说它有点像一个图像,如何获得这些值?公式是什么? – mr5