Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизНазначение OnClick динамически созданному объекту - ПРОДОЛЖЕНИЕ Найти похожие ветки
← →
Pank83 © (2005-11-10 11:07) [0]Создал в коде много кнопок, назначил всем единую ПРоцедуру на OnClick. А можно-ли узнать какая из кнопок была нажата, желательно из тела ПРоцедуры.
Спасибо!
← →
Суслик © (2005-11-10 11:07) [1]используй sender
← →
Pank83 © (2005-11-10 11:09) [2]Из Сурдера видно только имя класса, а хотелось бы имя объекта.
← →
Pank83 © (2005-11-10 11:10) [3]Из Сендера видно только имя класса, а хотелось бы имя объекта.
← →
злобная танька (2005-11-10 11:30) [4]sender это и есть объект. например трем кнопкам назначена одна процедура:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage((Sender as TControl).Name);
end;
выдает Button1, Button2 и т.д. соответственно.
← →
Суслик © (2005-11-10 11:31) [5](sender as tcomponent).name
← →
Pank83 © (2005-11-10 11:52) [6]Вы уж меня извините, но ShowMessage((Sender as TControl).Name) и (sender as tcomponent).name не работает. Какие нибудь еще варианты есть?
← →
Плохиш © (2005-11-10 11:58) [7]
> Какие нибудь еще варианты есть?
Заняться изучением теории.
← →
TUser © (2005-11-10 12:06) [8]Часто бывает удобнее использовать св-во Tag.
← →
umbra © (2005-11-10 12:08) [9]2 Pank83 © (10.11.05 11:52) [6]
как не работает?
← →
Pank83 © (2005-11-10 12:19) [10]Трабл возможно в следующем...
использован двумерный массив динамически создаваемых кнопок
описан так
Btn:array [1..25,1..25] of TButton
а создаю кноки так
Btn[i,p]:=TButton.Create(Self);
Btn[i,p].Caption:=s;
Btn[i,p].Parent:=PageControl1.pages[i];
извращение? но пока по другому никак
← →
ZeroDivide © (2005-11-10 12:37) [11]
> а создаю кноки так
> Btn[i,p]:=TButton.Create(Self);
> Btn[i,p].Caption:=s;
> Btn[i,p].Parent:=PageControl1.pages[i];
>
Ну дык впиши еще сюда
Btn[i,p]:=TButton.Create(Self);
Btn[i,p].Caption:=s;
Btn[i,p].Name := "Button" + IntToStr(i)+IntToStr(p);
Btn[i,p].Parent:=PageControl1.pages[i];
И ShowMessage((Sender as TComponent).Name); будет работать
← →
Суслик © (2005-11-10 12:37) [12]почему еще не в "начинающим"?
← →
ZeroDivide © (2005-11-10 12:38) [13]
> использован двумерный массив динамически создаваемых кнопок
> извращение? но пока по другому никак
Вовсе не извращение. Правда по другому: использовать TObjectList все таки удобнее и правильнее.
← →
Суслик © (2005-11-10 13:22) [14]
> Вовсе не извращение. Правда по другому: использовать TObjectList
> все таки удобнее и правильнее.
угу, а потом av ловить: TObjectList владеет TButton и Page владеет TButton.
уничтожать TButton полезут оба (если, конечно, не задать соотв. параметр TObjectList - но тогда это от массива мало отличается)
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.04 c