Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | | |
Не ворчи, а поучись правильно задавать вопросы. 05.06.03 15:56 Число просмотров: 1135
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
|
<programming>
|
Обработка событий динамически созданного объекта 04.06.03 16:05
Автор: ASJinx Статус: Незарегистрированный пользователь
|
Делаю динамически панельки (в массив Mpanel) вешаю их на на процедуру MyPanelClk
обработки события onMouseClick. Как мне в этой процедуре можно узнать на какую
панель было произведено нажатие? И как мне с ней что либо сделать?
Var
...
MPanel: array of TPanel;
PanelCount: byte;
...
procedure TForm1.MyPanelClk(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
...
end;
...
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;
...
|
|
[Pascal] Обработка событий динамически созданного объекта 06.06.03 13:20
Автор: Namor Статус: Незарегистрированный пользователь
|
> Делаю динамически панельки (в массив Mpanel) вешаю их на на > процедуру MyPanelClk > обработки события onMouseClick. >Как мне в этой процедуре можно узнать на какую панель было роизведено >нажатие?
При создании делаешь так:
Mpanel[i].Tag:=i;
При обработке:
TPanel(Sender).Tag - сие есть номер элемента в массиве
[wbr]
|
|
параметр Sender в обработчике это и есть твоя панель 04.06.03 17:09
Автор: Killer{R} <Dmitry> Статус: Elderman
|
|
| |
Об этом я както сам догодался, а как с ним работать? 05.06.03 12:19
Автор: ASJinx Статус: Незарегистрированный пользователь
|
|
| | |
[Pascal] Как с объектом типа TPanel 05.06.03 12:56
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
|
| | | |
Раз такой умный, то попробуй поработать с ним как с объектом типа TPanel 05.06.03 14:45
Автор: ASJinx Статус: Незарегистрированный пользователь
|
|
| | | | |
А что преобразование типов уже отменили ??? TPanel(Sender) 05.06.03 14:56
Автор: Cyril <sc> Статус: Member
|
|
| | | | | |
Понял, все. Работает 06.06.03 09:49
Автор: ASJinx Статус: Незарегистрированный пользователь Отредактировано 06.06.03 10:21 Количество правок: 1
|
|
| | | | | | |
это вообще то указатель, как и многие T**** переменные в делфи. 06.06.03 10:13
Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 06.06.03 10:15 Количество правок: 1
|
в билдере это все прозрачнее- параметр записывается как TObject *Sender
|
| | | | |
[Pascal] Спокойно. 05.06.03 14:55
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
Объясни тольком, что у тебя не получается?
Боюсь показаться уж слишком умным, но попробуй использовать конструкцию (Sender as TPanel).
|
| | | | | |
Даааа, долго пришлось добиваться 2-х простых слов 05.06.03 15:50
Автор: ASJinx Статус: Незарегистрированный пользователь
|
|
| | | | | | |
Не ворчи, а поучись правильно задавать вопросы. 05.06.03 15:56
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
|
|
|