Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Группа радиокнопок и ActiveControl

Delphi , Компоненты и Классы , Флажки

Группа радиокнопок и ActiveControl

Автор: Ralph Friedman

На форме я имею группу радиокнопок. Я хотел бы вызывать контекстно-зависимую подсказку, если пользователь нажал F1. Для данной конкретной группы радиокнопок я установил HelpContext равным 22, но при любом вызове ActiveControl.HelpContext это возвращает (0). Все другие элементы управления работают как положено. Что я делаю неправильно?

Нет. Проблема в том, что ActiveControl - RadioButton, а не RadioButtonGroup. Поместите следующий код в обработчик события формы OnShow, он должен решить вашу проблему:


procedure TForm1.FormShow(Sender: TObject);
var
  c: integer;
begin
  with RadioGroup1 do
  begin
    for c := 0 to ControlCount - 1 do
      TRadioButton(Controls[c]).HelpContext := HelpContext;
  end;
end;

Here's the translation:

Классическая ошибка! Проблема в том, что ActiveControl возвращает текуще активное управление, а в вашем случае это радио-кнопка, а не группа радиокнопок (RadioGroup). Поэтому, когда вы вызываете ActiveControl.HelpContext, она пытается получить контекст справки для одиночной радиокнопки, а не для всей группы.

Чтобы исправить это, вам нужно проходить через управления внутри RadioGroup и устанавливать индивидуальные свойства HelpContext для каждого из них. Это именно то, что делает предоставленный код:

procedure TForm1.FormShow(Sender: TObject);
var
  c: integer;
begin
  with RadioGroup1 do
  begin
    for c := 0 to ControlCount - 1 do
      TRadioButton(Controls[c]).HelpContext := HelpContext;
  end;
end;

Вот, что код делает:

  1. Он проходит через все управления (ControlCount) внутри RadioGroup.
  2. Для каждого управления он кастит его в TRadioButton (поскольку это часть группы).
  3. Он устанавливает свойство HelpContext для этой индивидуальной радиокнопки.

Таким образом, вы обеспечиваете, что каждая радиокнопка в группе имеет установленное свойство HelpContext.

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

Группа радиокнопок и ActiveControl: в статье рассмотрен способ вызова контекстно-зависимой подсказки для группы радиокнопок, установив HelpContext для каждого отдельного radio-кнопки.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



:: Главная :: Флажки ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 20:49:01/0.0032021999359131/0