| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Множество одинаковых процедур |
| Автор: Palladin 24.5.2009, 10:56 | ||
Здравствуйте, К примеру на форме n-edit-ов для каждого нужно разрешить ввод тольо цифр,точку и запятую(к примеру), в обработчике onKeyPress пишу:
Но проблема, у меня едитов 1000 штук(к примеру), получится что 1к раз я должен прописывать в он кейпресс один и тот же код, наверняка есть какойнить способ это обойти... и написать подобные код в одном месте, или нет? |
| Автор: Данкинг 24.5.2009, 11:09 | ||
Выдели все Edit'ы и повесь на них все одну и ту же процедуру onKeyPress... Ещё вот такой цикл для поиска нужных компнентов не забывай (т.е. в данном случае он, вероятно, и не нужен, но в принципе пригодится):
|
| Автор: kami 24.5.2009, 11:12 |
Назначить один обработчик события всем 1к edit-ам |
| Автор: Palladin 24.5.2009, 11:13 |
| Про цикл знаю, недавно наччился делать массив компонентов Про выделение не совсем понял, что зажать Shift и все повыделять? или как-то программно, если не программно, то только что попробовал, кинул 10 едитво на форму, выделил, потом в евентсе выбрал онкейпресс, но он создался лишь для первого... Добавлено через 19 секунд 2Ками вот это-то мне и надо, как? |
| Автор: kami 24.5.2009, 11:22 |
Создаешь OnKeyPress для одного эдита. Выбираешь другой эдит, в его OnKeyPress нажимаешь кнопочку комбобокса "вниз" и выбираешь событие, созданное для первого эдита. Если надо программно, т.е. в рантайме - пример тебе показал Данкинг |
| Автор: Данкинг 24.5.2009, 11:23 |
Кстати, вроде бы и так можно - попробуй. |
| Автор: Palladin 24.5.2009, 11:30 |
| Ок, спс, разобрался |
| Автор: CodeMonkey 24.5.2009, 11:46 |
| 1000-а edit-ов? А вы уверены, что всё правильно делаете? Я бы повесился, если бы мне пришлось иметь дело с окнов с 1000 edit-ов... |
| Автор: bems 24.5.2009, 12:16 |
| CodeMonkey, не преувеличивай. Если они все вместе служат чем-то типа грида (то есть используются однотипно) и выстроены в столбик (два столбика), и оно все прокручивается, то не такой уж ужасный интерфейс. Но сточки зрения пожирания ресурсов - все равно не феншуй. |
| Автор: xfoby 27.5.2009, 13:44 |
| а может проще было бы в цикле всем Edit'ам добавить флаг ES_NUMBER, чем постоянно обрабатывать? |
| Автор: Rrader 27.5.2009, 13:49 |
| xfoby, ES_NUMBER не позволит вводить точку или запятую (см. первое сообщение в теме). А думаешь Винде охота постоянно гонять CInputLimiter (реализует стиль ES_NUMBER)? |
| Автор: Palladin 29.5.2009, 10:12 |
| С чего вы взяли что у меня едитов 1000? Я ж к примеру привел |