Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

создание цифрового TEdit   Найти похожие ветки 

 
pirat ©   (2002-10-14 21:43) [0]

Всем привет!
Понадобилось мне, чтоб в TEdit можно было вводить только цифры. Решил перехватить WM_CHAR и отфильтровать только нужные мне символы. Попробовал подменить WndProc - ноль результатов.
Как же все таки это сделать???


 
VID ©   (2002-10-14 21:49) [1]

Вообще-то не грех и TSpinEdit использовать, который лежит на странице Samples :)


 
down   (2002-10-14 21:53) [2]

Подменить KeyDown: если Key <> цифре, то Key := 0


 
TTCustomDelphiMaster ©   (2002-10-14 22:06) [3]

SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);


 
Юрий Зотов ©   (2002-10-14 22:08) [4]

SetWindowLong(Edit1.Handle, GWL_STYLE,
GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);

И все.


 
Юрий Зотов ©   (2002-10-14 22:10) [5]

Мы не сговаривались, честное слово!
:о)


 
pirat ©   (2002-10-14 23:01) [6]

Сорри, забыл ведь главное сказать :((
Я в нее хотел вводить числа в формате double/real/float

Так что TSpinEdit не подходит
ES_NUMBER счас проверю
KeyDown вызывается после, а не перед (разве не так?)


 
Dr_Mike ©   (2002-10-15 02:13) [7]

Сомнения меня одолевают по поводу вышесказанного - если например, я буду вводить 1234.1234.2.4 - это что, тоже число будет ?

Не проще ли анализировать уже готовое число после ввода, и при неудачной проверке опять возвращаться к вводу ?


 
PKT   (2002-10-15 03:45) [8]

А может быть в лоб проблемку решить ?
Если числа еще и в форме 1Е-10 вводятся, то надо
еще код раздувать

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8, DecimalSeparator, "0".."9"]) or
((Key = DecimalSeparator) and
(Pos(DecimalSeparator, TEdit(Sender).Text) <> 0))
then Key := #0;
end;




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

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-78389
Valt
2002-10-15 10:28
2002.10.24
пробелы в memo


4-78710
kkot
2002-09-11 12:09
2002.10.24
Встраивание своего пункта меню (или кнопки) в чужую программу


3-78277
User_OKA
2002-10-02 08:34
2002.10.24
Можно ли создать объект-поле класса TField динамически?


14-78587
Delirium
2002-10-01 15:08
2002.10.24
Дайте ссылку на фотки с последней встречи в Москве


7-78674
Max2000
2002-08-09 17:50
2002.10.24
Может я и опоздал с вопросом но все же....