Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отключить событие OnChange [D7, XP]


MaxX ©   (2009-02-02 15:07:00) 

Подскажите как временно отключить событие OnChange у компонента TEdit ?
Дело в том что при передаче текста Едиту таким путем Edit1.Text := 'Test'
это событие не должно срабатывать, при изменении в ручную, должно.


MaxX   (2009-02-02 20:03:00) [1]

Эхей...Апельсиновый Джо


Джо   (2009-02-02 18:24:00) [2]

Или флаг устанавливать перед изменением, а в OnCnahge проверять значение этого флага.


MaxX   (2009-02-02 15:23:00) [3]

Спасибо огромное


Ega23   (2009-02-02 15:18:00) [4]


> Дело в том что при передаче текста Едиту таким путем Edit1.
> Text := 'Test'
> это событие не должно срабатывать, при изменении в ручную,
>  должно.


procedure SetEditText(Edit : TEdit; const Text : string);
var
 onEditChng : TNotifyEvent;
begin
 if Edit=nil then Exit;
 try
   try
     onEditChng := Edit.OnChange;
     Edit.OnChange := nil;
     Edit.Text := Text;  
   finally
     Edit.OnChange :=  onEditChng;
   end;
 except
 end;
end;


Юрий Зотов   (2009-02-02 15:16:00) [5]

Edit1.OnChange := nil;
try
 ...
finally
 Edit1.OnChange := Edit1Change
end;


Медвежонок Пятачок   (2009-02-02 15:13:00) [6]

:= nil;


Наверх

Титульная страница Поиск, карта сайта Написать письмо