Раз такой умный, то попробуй поработать с ним как с объектом типа TPanel05.06.03 14:45 Число просмотров: 1324 Автор: ASJinx Статус: Незарегистрированный пользователь
Делаю динамически панельки (в массив Mpanel) вешаю их на на процедуру MyPanelClk
обработки события onMouseClick. Как мне в этой процедуре можно узнать на какую
панель было произведено нажатие? И как мне с ней что либо сделать?
Var
...
MPanel: array of TPanel;
PanelCount: byte;
...
...
setlength(Mpanel,i+1); // здесь i=PanelCount - количеству
уже созданных панелей или 0 в противном случае
Mpanel[i]:=TPanel.Create(Self);
Mpanel[i].Parent:=self;
Mpanel[i].OnMouseDown:=MyPanelClk;
Mpanel[i].Width:=x;
Mpanel[i].Left:=y;
Mpanel[i].Top:=z;
Mpanel[i].Height:=t;
> Делаю динамически панельки (в массив Mpanel) вешаю их на на > процедуру MyPanelClk > обработки события onMouseClick. >Как мне в этой процедуре можно узнать на какую панель было роизведено >нажатие?
При создании делаешь так:
Mpanel[i].Tag:=i;
При обработке:
TPanel(Sender).Tag - сие есть номер элемента в массиве
[wbr]
параметр Sender в обработчике это и есть твоя панель04.06.03 17:09 Автор: Killer{R} <Dmitry> Статус: Elderman
это вообще то указатель, как и многие T**** переменные в делфи.06.06.03 10:13 Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 06.06.03 10:15 Количество правок: 1