Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Как отловить изменение property Text в компоненте-наследни TEdit   Найти похожие ветки 

 
Akris ©   (2005-08-29 18:45) [0]

Помогите, пожалуйста. Мне нужно форматировать по заданным параметрам значение свойства Text у своего компонента, который я наследовал от стандартного TEdit.
Действия пользователя я перехватываю без проблем.
Проблема возникает тогда, когда я присваиваю свойству значение.
Например: edit имеет формат: 10 цифр и 3 после запятой. Я в программе присваиваю значение из базы данных форматом 5 и 2 после запятой. Результат: edit отображает 5 цифр и 2 после запятой, а евенты на OnKeyPress не дают ввести третью цифру после запятой.

Как решить не знаю.


 
Юрий Зотов ©   (2005-08-29 19:35) [1]

> Как отловить изменение property Text
> в компоненте-наследни TEdit

Вариант 1 - обработать сообщение CM_TEXTCHANGED.
Вариант 2 - перекрыть метод Change.

> евенты на OnKeyPress...

1. Компонент не имеет права использовать события, доступные его пользователю. Иначе он может перекрыть их своими и компонент работать перестанет.

2. Текст можно ввести не только с клавиатуры, но и из буфера обмена.

> ...не дают ввести третью цифру после запятой.

Это уже вопрос алгоритма. Не для этой конференции.


 
Akris ©   (2005-08-30 15:25) [2]

А как перекрыть OnChange? У меня никак не получается.

Заранее благодарен за ответ.


 
Юрий Зотов ©   (2005-08-30 16:19) [3]

Что не получается? Перекрыть метод Change не получается?


 
ALI_YES   (2005-09-01 12:45) [4]

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

implementation

procedure TMyEdit.Change;
begin
 inherited;
 ShowMessage("Changed");
end;

Попробуй так



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

Форум: "Компоненты";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.05 c
15-1138610774
Opilki_Inside
2006-01-30 11:46
2006.02.19
Посоветуйте хороший XML-редактор.


2-1138499061
einstein
2006-01-29 04:44
2006.02.19
Функция Shellexecute()


1-1137417843
avsam
2006-01-16 16:24
2006.02.19
Delphi 2006 и QuickReport


1-1137585610
Kot_
2006-01-18 15:00
2006.02.19
Перекодировка ANSI в OEM


6-1131460316
vishnia
2005-11-08 17:31
2006.02.19
Работа ISAPI DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский