![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.12.2008
Сообщений: 3
|
![]()
Помогите пожалуйста, немного встал в ступор.
Есть созданный новый компонент в Delphi, нужно прописать свойство, чтобы по умолчанию можно было бы вводить только целые числа в поле text. Подскажите каким образом это можно осуществить? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.06.2007
Сообщений: 282
|
![]()
Нужно обрабатывать событие OnKeyPress.
Так: Код:
Код:
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
![]()
Лучше так
Код:
Сказал и загрустил от бесспорности своей правоты.
Последний раз редактировалось 0nni; 17.12.2008 в 17:04. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 17.12.2008
Сообщений: 3
|
![]()
Я немного не правильно изъяснился, мне это нужно все сделать в новом компоненте, то есть создать новый компонент, у которого родитель TEdit а свойство text перекрывается таким способом что можно ввести только тип integer.
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#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 |