如何让delphi的滚动条更宽/更大(包括滚动条的箭头)

时间:2009-02-21 13:16:30

标签: delphi accessibility

出于可访问性目的,我需要使所有可滚动控件(列表,列表视图)的滚动条更宽,滚动条箭头更大。

  1. 如何从可滚动控件中获取滚动条(句柄)(例如:TListView)?

  2. 如何使滚动条和箭头更宽/更大?

  3. 任何提示和代码的10倍......

2 个答案:

答案 0 :(得分:6)

可访问性与单个应用程序无关,而与整个系统无关。这就是为什么没有定义API来调整边框宽度,滚动条大小以及仅针对您的程序的本机控件的类似属性。但是,您可以在Windows中全局调整这些设置,方法是使用“辅助功能向导”,或者在“显示属性”小程序中调整字体,颜色,边框大小和滚动条大小。

有关详细信息,请查看Microsoft Accessibility page并按照各种链接进行操作。

修改:为了您自己的计划的利益,更改全局设置(如接受的答案所示)是粗鲁的。请记住,这会干扰所有其他正在运行的程序。对于具有触摸屏的系统来说,这可能是可以理解的,其中控制需要很大才能使用 - 但是在这样的系统上,控制尺寸可能已经正确设置。

答案 1 :(得分:3)

我不确定你可以 - 你必须为整个Windows更改它(并恢复)。

http://www.greatis.com/delphicb/tips/lib/system-captionfont.html

设置和读取属性TNonClientMetrics.iScrollWidth


编辑:我知道这个解决方案很粗鲁,但在一般情况下,这是你能做的最好的。如果您有专门的TabletPC应用程序,那么您通常一次只使用该应用程序,而不是其他应用程序。但是 - 几乎所有Windows应用程序都不适用于如此大的scroolbars。因此,当您需要使用操作系统对话框和其他应用程序时,您必须将其切换回来。

没有比“我的触摸屏应用程序运行设置Window scroolbars大,然后将其返回”更好的解决方案。我们在现实世界中确切地说这个应用程序,所以我知道我在说什么。

当然你可以编写自己的网格控件(如果你有这么多时间)或使用一些第三方控件(如果你有钱和时间),但这不是问题。