|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2008, 15:52 | #1 |
Регистрация: 17.12.2008
Сообщений: 3
|
Визуальный компонент от TEdit
Помогите пожалуйста, немного встал в ступор.
Есть созданный новый компонент в Delphi, нужно прописать свойство, чтобы по умолчанию можно было бы вводить только целые числа в поле text. Подскажите каким образом это можно осуществить? |
17.12.2008, 16:21 | #2 |
Форумчанин
Регистрация: 06.06.2007
Сообщений: 282
|
Нужно обрабатывать событие OnKeyPress.
Так: Код:
Код:
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
|
17.12.2008, 17:01 | #3 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Лучше так
Код:
Сказал и загрустил от бесспорности своей правоты.
Последний раз редактировалось 0nni; 17.12.2008 в 17:04. |
17.12.2008, 17:08 | #4 |
Регистрация: 17.12.2008
Сообщений: 3
|
Я немного не правильно изъяснился, мне это нужно все сделать в новом компоненте, то есть создать новый компонент, у которого родитель TEdit а свойство text перекрывается таким способом что можно ввести только тип integer.
|
18.12.2008, 02:23 | #5 |
Регистрация: 17.12.2008
Сообщений: 3
|
ВОт, после 3 часов мытарств поиска в инете нашел
unit NumEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TNumEdit = class(TEdit) procedure CreateParams(var Params: TCreateParams); override; procedure KeyPress(var Key: Char); override; end; procedure register; implementation procedure register; begin RegisterComponents('Standard', [TNumEdit]); end; procedure TNumEdit.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style or ES_MULTILINE or ES_RIGHT; end; procedure TNumEdit.KeyPress(var Key: Char); begin case key of '0'..'9': ; // цифры #8: ; // забой '.', ',': if Pos(DecimalSeparator, Text) = 0 then Key := DecimalSeparator else Key := #0; // десятичный разделитель else key := #0; end; // case end; end. |
18.12.2008, 06:52 | #6 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Глупо, сделайте так
Код:
Код:
Сказал и загрустил от бесспорности своей правоты.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по TEdit | MasterofCDM | Общие вопросы Delphi | 8 | 16.07.2008 20:51 |
TEdit | green | Компоненты Delphi | 17 | 16.03.2008 07:13 |
TEdit | Xardas | Общие вопросы Delphi | 2 | 17.01.2008 02:04 |
TEdit, TEdit, TEdit | Oleg Romanchuk | Помощь студентам | 2 | 20.08.2007 11:30 |