В TButtonGroup.ButtonOptions что делает добавление gboGroupStyle? - PullRequest
7 голосов
/ 22 февраля 2012

Справка указывает, что добавление gboGroupStyle к ButtonOptions в TButtonGroup "Указывает, что кнопки должны наследовать стиль группы, установленный в контейнере." Но это объяснение все еще оставляет меня утерянным - есть идеи?

Ответы [ 3 ]

6 голосов
/ 22 февраля 2012

Параметр gboGroupStyle в свойстве TButtonGroup.ButtonOptions не имеет ничего общего с GroupIndex, как известно, например, из TSpeedButton.

Настройка параметра gboGroupStyleTrue позволяет:

  • установить свойство TButtonGroup.ItemIndex, чтобы вы могли предварительно определить, какая кнопка будет по умолчанию сфокусирована, ничего интересного
  • нажимайте кнопки с помощью клавиш ENTER или SPACE , что вызовет событие TGrpButtonItem.OnClick элемента кнопки (если назначено), выполнит его действие или вызоветTButtonGroup.OnButtonClicked событие

Я согласен, что это довольно обманчивое название, но это то, что я нашел в исходном коде Delphi-XE2.

3 голосов
/ 22 февраля 2012

gboGroupStyle заставляет TButtonGroup действовать как группа - это означает, что в данный момент выбрана одна и только одна кнопка.Это похоже на группирование нескольких TSpeedButton с GroupIndex, где только одна кнопка внутри этой группы выбирается в любое время.Выбранная в данный момент кнопка может быть прочитана и записана через свойство ItemIndex TButtonGroup.Для визуализации выбранной кнопки можно реализовать обработчик OnBeforeDrawButton или OnDrawButton.

2 голосов
/ 22 февраля 2012

Из моих экспериментов видно, что если используется gboGroupStyle, то для свойства ItemIndex можно установить значение, отличное от -1, чтобы TButtonGroup запоминал последнюю нажатую кнопку.

...