主题:如何在没有用户干预的情况下自动移动滚动条

时间:2014-09-18 14:36:04

标签: linux xlib motif

我的应用程序中有一个滚动窗口,我在其中创建了一个绘图区域窗口小部件。在绘图区域,我放置了多个图像。当用户在搜索框中输入有关图像的信息时,会突出显示相应的图像。

我的问题是如何在没有用户使用滚动条的情况下让应用程序自动滚动到突出显示的图像框。滚动窗口应自动移动视图区域,以显示突出显示的图像所在的区域。

滚动窗口上使用的滚动策略是XmAUTOMATIC。

任何指针都会非常感激。谢谢。

1 个答案:

答案 0 :(得分:2)

如果这不起作用,请尝试XmScrollVisible(),然后您将需要:

1. Find out the size of the work area.
2. Find out the size and position of the clip window.
3. Find out the max/ min values for the horizontal scrollbar.
4. Use XmScrollBarGetValues() for the horizontal scrollbar to get its position within the max/min values.
5. Do some math magic to determine how much to move the horizontal scrollbar to get the work area to show through the clip window.
6. Call XmScrollBarSetValues() with Notify = True.
7. Repeat for the Vertical scrollbar.

HTH