Для изменения свойств отдельных элементов группы переключателей или группы командных кнопок в конструкторе форм, воспользуйтесь пунктом Edit контекстного меню этих элементов управления.

Задать свойства отдельных кнопок можно в окне свойств. Эти свойства можно изменить и во время выполнения, указав имя переключателя или кнопки и соответствующее свойство. Например, следующая строка, включенная в метод или код обработки события некоторого объекта на той же самой форме, которой принадлежит и группа переключателей opgChoices, задаст надпись переключателя optCust:

 CopyCode imageСкопировать код
THISFORM.opgChoices.optCust.Caption = "Sort by Customer"

Изменять свойства во время выполнения можно и с использованием свойства Buttons группы, ссылаясь на переключатель по его индексному номеру в группе переключателей. Например, если optCust является третьим переключателем в группе, следующая строка программы изменит ее надпись:

 CopyCode imageСкопировать код
THISFORM.opgChoices.Buttons(3).Caption = "Sort by Customer"

Для установки свойств всех переключателей в группе воспользуйтесь методом SetAll группы переключателей.

Например, следующая строка программы делает недоступными все переключатели в группе opgMyGroup:

 CopyCode imageСкопировать код
THISFORM.opgMyGroup.SetAll("Enabled",.F., "OptionButton")

Доступность и недоступность переключателей в группе

Предыдущий пример иллюстрирует, как сделать недоступными все переключатели в группе программным способом. Недоступный переключатель отображается цветом, заданным в его свойствах DisabledForeColor и DisabledBackColor. Чтобы сделать недоступной всю группу переключателей, можно установить ее свойство Enabled в ложь (.F.), однако, в этом случае не будет никакого визуального эффекта (свойства DisabledForeColor и DisabledBackColor отдельных переключателей во внимание не принимаются).

Определение переключателя, выбранного пользователем

Для определения выбранного переключателя воспользуйтесь свойством Value группы переключателей. Если источник управления для переключателя является числовым, и, если, например, в группе содержится пять переключателей и нажат третий, то свойство Value примет значение 3, если не выбрана ни одна из кнопок, свойство Value имеет значение 0.

Работать с выбранным переключателем можно используя свойства Value и Buttons группы переключателей. Например, следующий код помещает содержимое свойства Caption выбранного переключателя в переменную cSelected.

 CopyCode imageСкопировать код
oGroup = THISFORM.opg1
cSelected = oGroup.Buttons(oGroup.Value).Caption

Использование элемента управления Option Buttons совместно с элементом управления ListBox (список)

Предположим, что у Вас имеется таблица, к которой нужно применять небольшой набор определенных фильтров. В этом случае, для переключения между этими фильтрами можно использовать группу переключателей.

Следующий пример реализует эту задачу, используя форму со списком (lstCustomers) группой из трех переключателей.

Установка свойств элемента управления ListBox
Объект Свойство Значение

lstCustomers

RowSourceType

2 - Alias

lstCustomers

RowSource

Customer

Фильтры для таблицы устанавливаются в коде обработки события Click соответствующих переключателей.

Коды обработки выбора переключателей пользователем, устанавливающие фильтры для отображения данных в списке
Объект Событие Код

optAll

Click

 CopyCode imageСкопировать код
SET FILTER TO
GO TOP
THISFORM.lstCustomers.Requery

optCanada

Click

 CopyCode imageСкопировать код
SET FILTER TO customer.country = "Canada"
GO TOP
THISFORM.lstCustomers.Requery

optUK

Click

 CopyCode imageСкопировать код
SET FILTER TO customer.country = "UK"
GO TOP
THISFORM.lstCustomers.Requery

При закрытии формы, не забывайте сбрасывать фильтр командой SET FILTER TO, включив ее в код обработки нажатия кнопки, закрывающей форму или в метод Destroy формы.

NoteСовет

Для обновления списка в случае изменения источника данных используйте метод Requery.

Смотрите также