Как узнать имя компанента вызывающего обработчик сообщения?
От: Аноним  
Дата: 07.05.05 18:24
Оценка:
Есть несколько компанентов (одномерный массив, создаваемый программно), для всех их вызывается один и тот же обработчик события (OnMouseDown, OnMouseMove, OnMouseUp). Как определить, какой именно компанент вызывает это сообщение?

Для Button1,...,Button4 с общим обработчиком Button1Click, если они уже конечно есть, можно написать что-то вроде:

procedure TForm1.Button1Click(Sender: TObject);
begin
if Sender = Button1 then
ShowMessage('I Button1');
if Sender = Button2 then
ShowMessage('I Button2');
if Sender = Button3 then
ShowMessage('I Button3');
if Sender = Button4 then
ShowMessage('I Button4');
end;

А что делать если этих компанентов 100-300 и они создаются по мере необходимости в программе?

Ответы, лучше вместе с исходником, для надежности лучше пришлите на e-mail: MazuraSiarhei@rambler.ru
Заранее благодарен всем путным, а главное работающим, советам.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.