![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
переключение в рантайме между метками [D7, XP]
DarkHrin © (2006-08-29 11:03:00)Здравствуйте, у меня проблема:
Мне нужно при щелчке по одной из меток на форме допустим выводить ее имя, но не писать для каждой метки свой обработчик события onClick, а обойтись общим для всех......например:
ShowMessage(Form1.label(Здесь номер метки по которой щелкнули).Caption;
Я не знаю как получить имя этой метки в мою процедуру....
Если не сложно помогите....
Заранее спасибо.
DarkHrin (2006-08-29 11:13:00) [1]Огромное спасибо.
Ega23 (2006-08-29 11:06:00) [2]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure FormCreate(Sender: TObject);
procedure LabelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ControlCount-1 do
if (Controls[i] is TLabel) then
TLabel(Controls[i]).OnClick:=LabelClick;
end;
procedure TForm1.LabelClick(Sender: TObject);
begin
ShowMessage(TLabel(Sender).Name);
end;
end.