Edit контрол и работа с цифрами
От: Аноним  
Дата: 26.02.06 09:47
Оценка:
Подскажите, пожалуйста, как программно заставить Editbox принимать от юзера только цифры. Статически, в редакторе ресурсов при компоновке диалога можно указать, что контрол только с цифрами работает. Но как то же самое сделать программно в ран-тайме ?
Re: Edit контрол и работа с цифрами
От: awod Россия  
Дата: 26.02.06 10:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите, пожалуйста, как программно заставить Editbox принимать от юзера только цифры. Статически, в редакторе ресурсов при компоновке диалога можно указать, что контрол только с цифрами работает. Но как то же самое сделать программно в ран-тайме ?

Переопределить WM_KEYDOWN и WM_KEYUP и проверять внутри что было нажато. Если не цифра — тогда в клавишу в ноль.
С уважением AWOD.
Re: Edit контрол и работа с цифрами
От: Аноним  
Дата: 26.02.06 10:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите, пожалуйста, как программно заставить Editbox принимать от юзера только цифры. Статически, в редакторе ресурсов при компоновке диалога можно указать, что контрол только с цифрами работает. Но как то же самое сделать программно в ран-тайме ?


SetWindowLong(hEdit, GWL_STYLE, GetWindowLong(hEdit, GWL_STYLE) or ES_NUMBER)
Re[2]: Edit контрол и работа с цифрами
От: Alexey Mukovnin Россия  
Дата: 26.02.06 10:27
Оценка:
Здравствуйте, awod, Вы писали:

A>Переопределить WM_KEYDOWN и WM_KEYUP и проверять внутри что было нажато. Если не цифра — тогда в клавишу в ноль.


А следом придёт WM_CHAR...
Re[3]: Edit контрол и работа с цифрами
От: awod Россия  
Дата: 26.02.06 10:39
Оценка:
Здравствуйте, Alexey Mukovnin, Вы писали:

AM>Здравствуйте, awod, Вы писали:


A>>Переопределить WM_KEYDOWN и WM_KEYUP и проверять внутри что было нажато. Если не цифра — тогда в клавишу в ноль.


AM>А следом придёт WM_CHAR...


А разве после того как я все коды клавишь занулю, то WM_CHAR не прийдёт с нулём?
С уважением AWOD.
Re[4]: Edit контрол и работа с цифрами
От: Alexey Mukovnin Россия  
Дата: 26.02.06 12:06
Оценка:
Здравствуйте, awod, Вы писали:

A>А разве после того как я все коды клавишь занулю, то WM_CHAR не прийдёт с нулём?


Э-э-э... Да вроде нет WM_CHAR будет поставлено в очередь после вызова TranslateMessage для WM_KEYDOWN (если, конечно, коду в WM_KEYDOWN соответствует какой-либо символ), и придёт в оконную процедуру edit'а с исходным, неизменённым кодом. Независимо от того, как внутри этой процедуры было обработано WM_KEYDOWN.
Re[5]: Edit контрол и работа с цифрами
От: awod Россия  
Дата: 26.02.06 12:12
Оценка:
AM>Э-э-э... Да вроде нет WM_CHAR будет поставлено в очередь после вызова TranslateMessage для WM_KEYDOWN (если, конечно, коду в WM_KEYDOWN соответствует какой-либо символ), и придёт в оконную процедуру edit'а с исходным, неизменённым кодом. Независимо от того, как внутри этой процедуры было обработано WM_KEYDOWN.

Ну тогда надо и WM_CHAR занулить
С уважением AWOD.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.