| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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) Первый парамент - хэндл твоего эдита, второй - установка нового адреса для процедры, третий - новое значение процедуры окна. Она вернет адрес старой. Его надо сохранить.
По нажатию мыши. |