Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

Как присвоить один код для многих компонентов одного типа   Найти похожие ветки 

 
Dyakon_Frost ©   (2007-07-02 11:28) [0]

Здравствуйте!
У меня есть 23 Edit"a и для всех них проводится одна и таже проверка! Как-нибудь можно прописать код так, чтобы не прописывать всем компонентам событие OnChange?

Заранее спасибо.


 
Игорь Шевченко ©   (2007-07-02 11:31) [1]

Назначать одно событие динамически ?

procedure MyForm.EditChange (Sender: TObject);
begin
 ...
end;

procedure MyForm.FormCreate (Sender: TObject);
var
 I: Integer;
begin
 for I:=0 to ComponentCount-1 do
   if Components[I] is TEdit then
      TEdit(Components[I]).OnChange := EditChange;
 ...
end;


 
stone ©   (2007-07-02 11:32) [2]

Событие OnChange в этом случае должно указывать на одну процедуру, например на обработчик OnChange любого из Edit"ов.


 
_Asph ©   (2007-07-02 11:39) [3]

По моему классически, надо на основе Edit сделать свой класс,  где и прописать необходимый метод, и на форму уже навешивать этот класс, и не о чем не думать :)


 
Desdechado ©   (2007-07-02 11:50) [4]

> По моему классически, надо на основе Edit сделать свой класс,
Излишне. Если на каждый пшик городить классы, то зачем тогда остальное придумали?

Автору
Можно один обработчик назначить и в дизайн-тайме. Заметь, что при назначении можно не только дважды кликать для создания нового, но и из комбика выбрать уже имеющиеся.


 
Dyakon_Frost ©   (2007-07-02 11:51) [5]

Ну можно собственно и свой компонент написать на основе TEdit! Просто ищу самый простой способ.


 
homm ©   (2007-07-02 11:51) [6]

В инспекторе объектов, там где ты назначаешь действия на события, у каждого события есть такая кнопочки со стрелочкой справа. Она тебе и нужна.


 
Anatoly Podgoretsky ©   (2007-07-02 11:52) [7]

Событие придется всем прописать и другого пути нет, а вот обработчик события может быть общий.

А в чем у тебя сложность - выделить все нужные компоненты на форме и указать один раз обработчик.


 
Dyakon_Frost ©   (2007-07-02 12:38) [8]


> А в чем у тебя сложность - выделить все нужные компоненты
> на форме и указать один раз обработчик.

Хотелось просто узнать, более понятные методы! А то не всегда этот способ подходит.
Всем большое спасибо! Решил пока огород не городить.

> Игорь Шевченко

Спасибо за пример! Очень познавательно.


 
Anatoly Podgoretsky ©   (2007-07-02 13:04) [9]

Если этот способ не подходит, то выделяем компонент в инспекторе объектов и на закладке событий назначаем ранее созданый обработчик.



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

Текущий архив: 2007.07.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
2-1183654535
Romm
2007-07-05 20:55
2007.07.29
Из страницы в приложение


6-1166732105
m00ngl0w
2006-12-21 23:15
2007.07.29
WinSock


15-1183009073
Andy BitOff
2007-06-28 09:37
2007.07.29
Пятое измерение можно наблюдать в областях сверхгравитации


2-1183537724
Qzzma
2007-07-04 12:28
2007.07.29
Как открывать файлы приложениями используемыми Windows?


4-1171380174
niko_
2007-02-13 18:22
2007.07.29
Блокировка кнопок WIN и Alt+Tab