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

Вниз

Дублирование события у компонента   Найти похожие ветки 

 
Mishenka   (2004-11-25 09:16) [0]

Хочу написать Edit, в который можно было бы водить только цифры, тобишь нужно описать событие OnChange. Как его описать, чтоб у полученного компанента также можно было обрабатывать событие OnChange?


 
MBo ©   (2004-11-25 09:25) [1]

Cтиль окна Edit должен содержать флаг ES_NUMBER
(SetWindowLong c GWL_STYLE)


 
ASoft   (2004-11-25 09:39) [2]

Смотри ветку ниже [проверить на тип]


 
Leonid Troyanovsky   (2004-11-25 09:40) [3]


> Mishenka   (25.11.04 09:16)  
> Хочу написать Edit, в который можно было бы водить только
> цифры, тобишь нужно описать событие OnChange. Как его описать,
> чтоб у полученного компанента также можно было обрабатывать
> событие OnChange?


type
 TMyEdit = class(TEdit)
 protected
   procedure Validate; virtual;
   procedure Change; override;
 end;

procedure TMyEdit.Validate;
begin
 ;
end;

procedure TMyEdit.Change;
begin
 Validate;
 inherited;
end;


Можно посмотреть и реализацию:

http://groups.google.com/groups?selm=1553063689%40p2.f175.n5020.z2.ftn

--
С уважением, LVT.


 
KSergey ©   (2004-11-25 09:44) [4]

Ну... Классически надо перекрыть OnKeyPress, а не OnChange. Это если именно с клавиатуры не давать вводить. Но можно будет вставить из буфера обмена.
Если именно OnChange - то тогда будет "промаргивать" (сначала отобразится "недопустимое", потом вы его затрете.

Перекрытие OnChange для компоента будет выглядеть так:

TMyEdit = class(TEdit)
  private
    procedure Change; override;
end;

procedure TMyEdit.Change;
begin
  // здесь пишем код
  inherited;  // чтобы, в частности, сработал пользовательский OnChange
end;


А чтобы совсем все было хорошо (все лишнее рубить, да еще и чтобы не "моргало") - это надо обрабатывать CN_COMMAND и в нем CBN_EDITUPDATE. Но это для Win32 платформы, как там для kylix - понятия не имею (предыдущий код явно универсален, надеюсь)


 
KSergey ©   (2004-11-25 09:45) [5]

Пока набирал - старшие товарищи опредили ;)


 
Amoeba ©   (2004-11-25 11:09) [6]

Есть готовые. Найдешь на Torry.



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

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

Наверх




Память: 0.48 MB
Время: 0.07 c
1-1101366523
Павел
2004-11-25 10:08
2004.12.12
Формат файлов bpl, dcp,dcu


14-1101231153
Kurtevich
2004-11-23 20:32
2004.12.12
Жалобы на Дельфи :(


3-1100166911
ALex11
2004-11-11 12:55
2004.12.12
Wer ist das: Insufficient disk space.???


8-1094558895
X-Disa
2004-09-07 16:08
2004.12.12
TImage и "курсор"


1-1101573700
Dmitry_04
2004-11-27 19:41
2004.12.12
Есть ли какойнибудь компонент для создания меню как в RealPlayer?