-
создалновый компонент на базе TSpinEdit, теперь мне нужно изменить процедуру Onchange, даже не изменить а немного даполнить, подскажите как!
Перехватываю событие message CM_TEXTCHANGED; но оно не генерируется если ввести число, только при нажатии на кнопки
-
> мне нужно изменить процедуру Onchange
TSpinEdit не имеет метода OnChange TSpinEdit имеет свойство OnChanged
-
Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE. Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
-
> DimaBr © (13.11.08 16:38) [2]
...создал новый компонент на базе TSpinEdit...
> Andrey_ka (13.11.08 16:20) > нужно изменить процедуру Onchange, > даже не изменить а немного даполнить
Событие OnChange трогать не надо, оно не для писателей компонентов, а для их пользователей. Перекройте метод Change и в нем вносите нужные дополнения.
-
> Юрий Зотов © (15.11.08 13:30) [3]Извиняюсь, недоглядел !
type
TMySpinEdit = class(TSpinEdit)
protected
procedure Change;override;
end;
procedure TMySpinEdit.Change;
begin
inherited Change;
end;
-
> Andrey_ka
Небольшой комментарий к [4]. При вызове унаследованного метода Change будет сгенерено событие OnChange и вызван его пользовательский обработчик (если он имеется). Вам нужно решить, где Вы хотите добавить свой код - до вызова пользовательского обработчика, после его вызова, или и там, и там. Соответственно, сам этот код Вам нужно написать до вызова inherited Change, после его вызова, или и там, и там. При этом имейте в виду, что пользовательский обработчик может, вообще говоря, сделать что угодно - например, изменить свойства компонента или возбудить Exception.
-
> Вам нужно решить, где Вы хотите добавить свой код - до вызова пользовательского обработчика, после его вызова, или и там, и там. или вообще не вызывать пользовательский обработчик
|