Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
15-1183108735
vovnor
2007-06-29 13:18
2007.07.29
Team Source - среда многопользовательской разработки


15-1183029982
Kostafey
2007-06-28 15:26
2007.07.29
Как сделать исполняемый jar - файл ?


2-1183344188
Grademax
2007-07-02 06:43
2007.07.29
Как отследить "выключение системы"?


15-1183467755
Сергей М.
2007-07-03 17:02
2007.07.29
"Непонятка" в FastReport 3.x


15-1183112627
*Pavel
2007-06-29 14:23
2007.07.29
Посоветуйте цифровой фотоаппарат, плиз.




   Наверх