Страница 1 из 1
Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 17:22:17
PapaNT
Уважаемые коллеги, недавно начал осваивать визуальное программирование. Помогите, пожалуйста, разобраться с ComboBox.
Суть беды в следующем:
1. В ComboBox по определенным правилам нормально добавляю элементы;
2. После хочется знать, что некий n-ый или m-ый элемент выбран, дабы произвести некие дальнейшие телодвижения.
Каким событием проверять изменение состояния выбора элементов?
Заранее спасибо!
Re: Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 19:55:02
Mr.Smart
Выбор элемента:
- Код: Выделить всё
procedure TForm1.ComboBox1Change(Sender: TObject);
Индекс элемента:
- Код: Выделить всё
ComboBox1.ItemIndex
Re: Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 21:10:17
PapaNT
А для radiogroup аналогично?
В списке стандартных событий нет Change...
Re: Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 21:13:37
Mr.Smart
Там событие OnClick срабатывает.
п.с. Пробуйте и экспериментируйте....
Re: Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 21:25:03
PapaNT
Словил ошибку:
Error: Forward declaration not solved "TMainForm.RadioGroup_ToDoClick(Sender : TObject)"
Re: Вопрос по обработке изменения ComboBox
Добавлено:
12.12.2012 21:32:21
Mr.Smart
У вас не совпадают декларации (описания) методов в классе и реализации.
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 11:25:44
PapaNT
Попробовал объявить Click через lfm-файл - ошибка использования несуществующего события.
Буду "тупо" решать через таймер...
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 12:04:33
Mr.Smart
А что мешает воспользоваться IDE Lazarus?
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 12:23:39
PapaNT
Отсутствие события Change. По крайней мере в версии лазаря 1.0 его нет.
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 12:25:35
Mr.Smart
Так используйте событие Click, оно как раз происходит при смене элемента.
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 12:41:31
PapaNT
С Combobox разобрался - там клик работает.
-------------------------------------------------------
У Radiogroup он работает только при клике на области не занятой текстом и радиокнопками - пока страдаю с таймером.
Восстановленный алгоритм обработки OnClick:
сперва выбираю нужный элемент, потом кликаю по свободному пространству зарезервированному под RdioGroup и только тогда происходит с обработка события.
Надо чтобы событие обрабатывалось по ChangeSelectet элемента с номером n.
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 12:57:53
Mr.Smart
Пример
Re: Вопрос по обработке изменения ComboBox
Добавлено:
13.12.2012 22:56:28
andrey_k3
У RadioGroup обработка смены выбранного элемента - по OnSelectionChanged
- Код: Выделить всё
procedure TForm1.RadioGroup1SelectionChanged(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Label1.Caption:= 'первый';
1: Label1.Caption:= 'второй';
2: Label1.Caption:= 'третий';
end;
end;