Цитата:
Сообщение от Alexs55
Всем доброго здравия.
Нужна красивая идея.
На форме находится CheckBox. В обработчике события CheckBoxKeyPress меняю свойство Checked кнопкой Enter. Но у меня CheckBox'ов больше десятка..... Ни писать же на каждый CheckBox свой обработчик события.
А что делать?
|
Пишешь один обработчик и присваиваешь его (например в инспекторе объектов) всем остальным. Например:
Код:
procedure TPrimeFrm.CheckBox1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'1': (Sender as TCheckBox).Checked:=True;
'2': (Sender as TCheckBox).Checked:=False;
end;
end;
Если же нужно
всем CheckBox-ам на форме присвоить один и тот же обработчик, то можно программно. Пример:
Код:
var
i: Integer;
begin
for i := 0 to ComponentCount-1 do
begin
if Components[i] is TCheckBox then
begin
(Components[i] as TCheckBox).OnKeyPress:=CheckBox1KeyPress;
end;
end;
end;