|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.02.2008, 20:27 | #1 | |
Регистрация: 24.02.2008
Сообщений: 6
|
Обработка Ctrl+V и Shift+Ins в SpinEdit
День добрый уважаемые!
Прошу сразу не бить, и не посылать в поиск. Голова уже ходит кругом от возможностей, но всё же прошу помочь собрать всё в кучку ^_^ Имеется "SpinEdit", нужно ограничить ввод. Т.е. вводить можно только цифры. Как программно, через Up/Down кнопульки в объекте, так и через кнопки 0..9 и сочитания клавишь Ctrl+V, Shift+Ins... К примеру не допустимо отрицательное значение, или "0-5" и т.д. Я сделал "мощную" проверку однако она не позволяет обработать вставку из буфера. Т.е. разрешить её нужно, но только именно цифры, а не буквы/символы. У меня получается так, что при вставке через буфер (ctrl+v или shift+ins) ругается: Цитата:
Код:
|
|
24.02.2008, 20:32 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Для этого не кнопки нужно обрабатывать, а сообщение WM_PASTE.
|
24.02.2008, 20:35 | #3 |
Регистрация: 24.02.2008
Сообщений: 6
|
Не подскажете как? Пока что сам ищю в поиске...
Последний раз редактировалось ZeLiK; 24.02.2008 в 20:46. |
24.02.2008, 20:53 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Могу предложить кусочек обработчика WM_PASTE на C. Если нет у спинедита события OnPaste значит надо заменить на свой его обработчик оконной процедуры WndProc и обрабатывать в WM_PASTE. В любом случае, проверка клавиш ничего не даст - Вашу программу, судя по формулировке проблемы, можно будет в два счёта завалить, отправив "нужный" WM_PASTE. Кстати, по идее, надо еще обрабатывать WM_SETTEXT или как он там в Дельфи, OnSetText, наверное.
Код:
|
24.02.2008, 21:16 | #5 |
Регистрация: 24.02.2008
Сообщений: 6
|
Нашёл простой пример, и то не втыкаю как реализовать =(((
Код:
Последний раз редактировалось ZeLiK; 25.02.2008 в 04:38. |
25.02.2008, 00:21 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
25.02.2008, 02:49 | #7 | |
Регистрация: 24.02.2008
Сообщений: 6
|
Цитата:
Код:
|
|
25.02.2008, 04:28 | #8 |
Регистрация: 24.02.2008
Сообщений: 6
|
Жесть... кое-как кажись придумал =) значит испытуемый "Edit1".
Прошу отписатся, каму как... нравится иль нет, мож есть альтернативы по проще? Код:
p.s. help my please Последний раз редактировалось ZeLiK; 25.02.2008 в 04:38. |
25.02.2008, 04:44 | #9 | |
Регистрация: 24.02.2008
Сообщений: 6
|
Цитата:
Код:
Как "обработать" возникновение "эксепшн"? И что это такое, "эксепшн"? ^_^ P.S. B_N и mihali4 Спасибо Вам, что вы откликнулись и не отказали в помощи P.S.S. Есть у кого ещё идеи какие? |
|
26.02.2008, 02:22 | #10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Немножко по-другому... (Советую почитать про "исключения"):
Код:
Последний раз редактировалось mihali4; 26.02.2008 в 02:25. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
alt+ctrl+del | ben95 | Общие вопросы Delphi | 36 | 03.01.2009 16:28 |
CTRL+ALT+DELETE | terminadoor | Помощь студентам | 14 | 21.07.2008 16:22 |
Ctrl+Enter | kisska | Win Api | 3 | 22.08.2007 20:55 |
Отключение CTRL+ALT+DEL | ShVad | Общие вопросы Delphi | 5 | 27.01.2007 19:09 |
Свойство Decimal у SpinEdit | Ko$tello | Компоненты Delphi | 3 | 18.11.2006 17:53 |