Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > Аналог MaskEdit на API |
Автор: Fox_in 30.4.2007, 17:53 |
Средствами API сделал Edit. Теперь нужно, чтобы пользователь мог вводить только цифры. Как это можно реализовать?? |
Автор: anwe 30.4.2007, 21:20 |
Сабклассить Edit. |
Автор: Fox_in 30.4.2007, 22:39 |
А это как?? |
Автор: anwe 30.4.2007, 22:43 |
Надо переопределить процедуру окна твоего edit'а. Посмотри в msdn SetWindowLong. |
Автор: Fox_in 1.5.2007, 00:20 |
Что-то там слишком сложно получается. Вся проблема состоит в том, что EN_CHANGE я использовать не могу -- при программном изменении текста нескольких edit'ов после изменения первого происходит событие EN_CHANGE, и остальные не изменяются. Кстати, еще один вопрос возник. Как можно отловить такое -- button уже нажат, но еще не отпущен?? Как убрать рамку у окна?? Или как сделать окно во весь экран?? |
Автор: anwe 1.5.2007, 00:38 | ||
OldWndproc:=SetWindowLong(hwndEdit,GWL_WNDPROC,EditWndProc) Первый парамент - хэндл твоего эдита, второй - установка нового адреса для процедры, третий - новое значение процедуры окна. Она вернет адрес старой. Его надо сохранить.
По нажатию мыши. |