Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизДублирование события у компонента Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c