-
Доброго времени суток, Уважаемые. Может не совсем ясно сформулировал в теме... На форме на разных панелях есть TButton (допустим их 20). Перед обработкой нажатия кнопки нужно проверить одно и то же условие. Если оно выполняется - обработать нажатие, то есть вызывать 20 разных процедур в зависимости от нажатой кнопки. Вставлять в каждый обработчик проверку условия - не подходит по некоторым причинам. Предполагаю, что можно назначить один OnClick на все кнопки, в обработчике OnClick проверить условие и при помощи Win API каким-нибудь образом идентифицировать, какая кнопка была нажата. Подозреваю что при помощи хэндлов. Только вот как ?
-
не, винапи здесь не справится, нужны нейронные сети и cuda чтобы понять что нажатая кнопка прилетает как sender в онклик
-
Ход вашей мысли понял. Значит будем использовать нейронные сети.
-
Sender - это та самая нажатая кнопка Можно, например, назначить разный Tag вашим кнопкам, а затем назначить всем такой обработчик:
procedure TCommonForm.CommonButtonClick(Sender:TObject); begin if not (Sender is TButton) then Exit; with TButton(Sender) do begin case Tag of 1:, 2:, 5: procedure_1_2_5(); // нужные константы и процедуры - по вкусу 3:, 6: procedure_3_6(); 4:, 7: procedure_4_7(); end; end; end;
|