Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Как узнать, какой компонент вызвал событие?   Найти похожие ветки 

 
GIL ©   (2004-04-07 10:36) [0]

на форме есть куча лейблов, они используются как элементы управления, на все эти лейблы хотелось бы написать одну по одной процедуре на событие. Есть процедура на событие в лейбле, хочется, чтобы все лейблы ссылались на эту процедуру, и при этом для каждого она работала, как это сделать? Как узнать, какой компонент вызвал процедуру?


 
Agent13 ©   (2004-04-07 10:38) [1]

см. свойство Tag


 
Семен Сорокин ©   (2004-04-07 10:39) [2]

Sender + F1


 
Рамиль ©   (2004-04-07 10:39) [3]

(Sender as TLable).Name


 
pasha_golub ©   (2004-04-07 10:40) [4]

Agent13 ©   (07.04.04 10:38) [1]
В Одессу через Сахалин?


 
GIL ©   (2004-04-07 10:49) [5]

незнаю при чем здесь таг, объясни пжлста


 
NAlexey ©   (2004-04-07 10:56) [6]

Находишся постоянно в состоянии дежавю читая вопросы в этой ветке.


 
Рамиль ©   (2004-04-07 10:59) [7]


> незнаю при чем здесь таг, объясни пжлста

Можно в каждой метке прописать Tag и идентифицировать объект по нему


 
GIL ©   (2004-04-07 11:01) [8]

я сейчас не очень-то могу запускать дельфю и потому пишу в блокноте, это не совсем удобно, а за тагом я не замечал чего-либо такого, что могло бы мне помочь (вроде как он служит для объединения в группы)


 
GIL ©   (2004-04-07 11:02) [9]

2 Рамиль  -поподробнее пжлста, ведь для обращения к тагу надо суметь обратиться к компоненту?


 
pasha_golub ©   (2004-04-07 11:07) [10]

GIL ©   (07.04.04 11:02) [9]
Совершенно  верно, а для этого исползуем Sender


 
Serge ©   (2004-04-07 11:29) [11]

> NAlexey ©   (07.04.04 10:56) [6]

Матрица - однако :о)

> GIL ©   (07.04.04 11:01) [8]
...(вроде как он служит для объединения в группы)
- не-а, он не служит, он может быть использован и для этого

[2],[3],[10] - оно самое что тебе нужно


 
Saturn_   (2004-04-07 11:37) [12]

можеш попробовать сделать так:
procedure TForm1.Add_Label(Name,Capt:String;x,y,n:integer;Paren:TWinControl);
Var New_Label:TLabel;
begin
   New_Label:=TLabel.Create(Form1);
   New_Label.Top:=y;
   New_Label.Left:=x;
   New_Label.Name:=Name;
   New_Label.Height:=16;
   New_Label.Caption:=Capt;
   New_Label.Parent:=Paren;
   New_Label.AutoSize:=False;
   New_Label.OnClick:=OnClickLabel;

end;
Насоздавай нужных TLabel"ов

procedure TForm1.OnClickLabel(Sender: TObject);
Var i: integer;
begin
...
i:=0;
            While TEdit(TForm1.Controls[i]).name <> Name do i:=i+1;
                   result:=TLabel(Panel5.Controls[i]);//Это поиск элемента по известному имени может сгодится.
...
end;

Сделай перебор например через if
Чтото типа :
If TControl(Sender).name = Name{это имя элемента} Then ....


 
GIL ©   (2004-04-07 12:02) [13]

спасибо



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
1-1081157259
NorthMan
2004-04-05 13:27
2004.04.25
что-то не получается сделалать enabled:=false для пункта


8-1074095091
Profi
2004-01-14 18:44
2004.04.25
Секунды трека


1-1081344856
TGrey
2004-04-07 17:34
2004.04.25
Как узнать размер файла


4-1077190602
Алексей
2004-02-19 14:36
2004.04.25
CreateDialog, Application.DialogHandle


14-1081071766
uw
2004-04-04 13:42
2004.04.25
Наука утверждает...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский