2009-02-21 3 views
4

Для целей доступности мне нужно сделать полосы прокрутки для всех прокручиваемых элементов управления (списки, списки) более широкими, а стрелки полосы прокрутки больше.Как сделать полосы прокрутки более широкими/большими для delphi (включая стрелки полосы прокрутки)

  1. Как получить полосы прокрутки (ручки) из прокручиваемого элемента управления (например: TListView)?

  2. Как сделать полосу прокрутки и стрелки шире/больше?

10x любые намеки и код ...

ответ

3

Я не уверен, что вы можете - Вы должны изменить его (и восстановить обратно) для всего Windows.

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

Установка и чтения свойства TNonClientMetrics.iScrollWidth


Edit: Я знаю, что это решение является грубым, но в общих случаях это лучшее, что вы можете сделать. Если у вас есть специализированное приложение TabletPC, вы обычно используете только это приложение одновременно, а не другие. Но почти все приложения Windows не предназначены для работы с такими большими scroolbars. Поэтому, когда вам нужно использовать диалоговые окна ОС и другие приложения, вам нужно переключить их обратно.

Нет лучшего решения, чем «пока мое приложение для сенсорного экрана работает с множеством оконных прокруток», а затем верните его обратно ». У нас есть именно это приложение в реальном мире, поэтому я знаю, о чем говорю.

Конечно, вы можете написать свой собственный контроль сетки (если у вас так много времени) или использовать некоторые элементы управления третьей стороной (если у вас есть деньги и время), но это не было вопросом.

6

Доступность - это то, что касается не одного приложения, а всей системы. Вот почему API не определен для настройки таких параметров, как ширина границ, размер полосы прокрутки и аналогичные свойства встроенных элементов управления только для вашей программы. Однако вы можете настроить эти параметры глобально в Windows, либо с помощью мастера специальных возможностей, либо путем настройки шрифтов, цветов, размеров границ и размеров прокрутки в апплете «Свойства экрана».

Для получения дополнительной информации вы должны указать Microsoft Accessibility page и следовать различным ссылкам.

Edit: Изменение глобальных настроек (как принятый ответ предполагает) на благо вашей собственной программы грубо в крайнем. Имейте в виду, что это мешает всем другим работающим программам. Это может быть простительно для системы с сенсорным экраном, где элементы управления должны быть большими, чтобы их можно было использовать вообще, но в такой системе размеры управления, вероятно, уже были бы установлены правильно.

+0

Проголосовало за редактирование. Изменение настроек системы для системного пользователя, а не вашей программы. Любое приложение, которое изменило общесистемную настройку на моем компьютере, попадет в Корзину очень быстро. –

+0

@Ken: Мое настроение точно - я еще не догадывался, но я бы, наверное, отреагировал точно так же. – mghie

+0

... но для приложений в реальном мире это не так уж плохо. Одной задачей станции TabletPC являются типичная целевая платформа. – DiGi

Смежные вопросы