Вопрос по обработке изменения ComboBox
Модератор: Модераторы
Вопрос по обработке изменения ComboBox
Уважаемые коллеги, недавно начал осваивать визуальное программирование. Помогите, пожалуйста, разобраться с ComboBox.
Суть беды в следующем:
1. В ComboBox по определенным правилам нормально добавляю элементы;
2. После хочется знать, что некий n-ый или m-ый элемент выбран, дабы произвести некие дальнейшие телодвижения.
Каким событием проверять изменение состояния выбора элементов?
Заранее спасибо!
Суть беды в следующем:
1. В ComboBox по определенным правилам нормально добавляю элементы;
2. После хочется знать, что некий n-ый или m-ый элемент выбран, дабы произвести некие дальнейшие телодвижения.
Каким событием проверять изменение состояния выбора элементов?
Заранее спасибо!
Выбор элемента:
Индекс элемента:
Код: Выделить всё
procedure TForm1.ComboBox1Change(Sender: TObject); Индекс элемента:
Код: Выделить всё
ComboBox1.ItemIndexА для radiogroup аналогично?
В списке стандартных событий нет Change...
В списке стандартных событий нет Change...
Там событие OnClick срабатывает.
п.с. Пробуйте и экспериментируйте....
п.с. Пробуйте и экспериментируйте....
Словил ошибку:
Error: Forward declaration not solved "TMainForm.RadioGroup_ToDoClick(Sender : TObject)"
Error: Forward declaration not solved "TMainForm.RadioGroup_ToDoClick(Sender : TObject)"
У вас не совпадают декларации (описания) методов в классе и реализации.
Попробовал объявить Click через lfm-файл - ошибка использования несуществующего события.
Буду "тупо" решать через таймер...
Буду "тупо" решать через таймер...
А что мешает воспользоваться IDE Lazarus?
Отсутствие события Change. По крайней мере в версии лазаря 1.0 его нет.
Так используйте событие Click, оно как раз происходит при смене элемента.
С Combobox разобрался - там клик работает.
-------------------------------------------------------
У Radiogroup он работает только при клике на области не занятой текстом и радиокнопками - пока страдаю с таймером.
Восстановленный алгоритм обработки OnClick:
сперва выбираю нужный элемент, потом кликаю по свободному пространству зарезервированному под RdioGroup и только тогда происходит с обработка события.
Надо чтобы событие обрабатывалось по ChangeSelectet элемента с номером n.
-------------------------------------------------------
У Radiogroup он работает только при клике на области не занятой текстом и радиокнопками - пока страдаю с таймером.
Восстановленный алгоритм обработки OnClick:
сперва выбираю нужный элемент, потом кликаю по свободному пространству зарезервированному под RdioGroup и только тогда происходит с обработка события.
Надо чтобы событие обрабатывалось по ChangeSelectet элемента с номером n.
У RadioGroup обработка смены выбранного элемента - по OnSelectionChanged
Код: Выделить всё
procedure TForm1.RadioGroup1SelectionChanged(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Label1.Caption:= 'первый';
1: Label1.Caption:= 'второй';
2: Label1.Caption:= 'третий';
end;
end;