|
|
|
Не срабатывает OnExit для компонента TEdit (в некоторых случаях).
|
|||
|---|---|---|---|
|
#18+
Совсем вкратце: При переходе фокуса с Edit на узел TreeView (и MainMenu) у Edit не срабатывает обработчик OnExit, в остальных случаях срабатывает; Вкратце: Есть Form, на ней есть Panel1. На Panel_lvl1 есть TreeView и ScrollBox. На ScrollBox динамически создаются в некоторых значительных количествах Panel_lvl2. На Panel_lvl2 динамически рисуются всякие нужные мне поля отображения (label, Image и прочее неважное) и поле для ввода Edit, тут же при динамическом создании Edit прикручивается обработчик OnExit к каждому. В котором проверяется введенные пользователем данные (проверка на число и на диапазон), если всё правильно - то число запоминается в массив данных, если неправильно - сбрасывается до исходного (ну и сообщение о ошибке ввода можно вывести). Но есть одно "но!", при клике на узле TreeView (ещё не срабатывает при клике на MainMenu) не срабатывает обработчик OnExit, ничего не проверяется и не сохраняется. Можно ли как-нибудь заставить всегда срабатывать обработчик OnExit? Если нет, как проще всего реализовать проверку динамически генерируемых (!) Edit-ов на вводимое содержимое и последующее сохранение. Из моих мыслей (костылей): 1. Проверять и сохранять при вводе каждого символа, но сбрасывать только при OnExit. 2. Обрабатывать событие формы OnClick, но тут куча сложностей: как отследить какой Edit был выделен, что первое сработает OnClick или TreeViewChanging? 3. Как-то впихнуть обработку ввода в TreeViewChanging.. Может что подскажите дельного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:35 |
|
||
|
Не срабатывает OnExit для компонента TEdit (в некоторых случаях).
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:37 |
|
||
|
Не срабатывает OnExit для компонента TEdit (в некоторых случаях).
|
|||
|---|---|---|---|
|
#18+
Внизу повесить кнопочку "Сохранить", при нажатии на которую проверяется правильность ввода значений. 1. Если все значения введены правильно, то происходит сохранение 2. Если одно из значений неверно, то выдаётся сообщение и курсор переводится в Edit с неправильным значением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:14 |
|
||
|
Не срабатывает OnExit для компонента TEdit (в некоторых случаях).
|
|||
|---|---|---|---|
|
#18+
DimaBrВнизу повесить кнопочку "Сохранить", при нажатии на которую проверяется правильность ввода значений. 1. Если все значения введены правильно, то происходит сохранение 2. Если одно из значений неверно, то выдаётся сообщение и курсор переводится в Edit с неправильным значением. Думал о таком варианте, но забыл уточнить - на каждом узле дерева будут генерироваться свои настройки, при том узлов будет куда больше, чем на картинке (сотни узлов и тысячи параметров). При наличии кнопки каждый раз придется заставлять пользователя сохранять каждую страничку. Что не очень удобно, а главное - совсем не интуитивно, сейчас везде "сохранить" срабатывает уже ко всем настройкам, а не к каждой страничке. Но как вариант можно... Но тогда логично в TreeViewChanging тоже самое делать, о чем я в п.3 писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:29 |
|
||
|
Не срабатывает OnExit для компонента TEdit (в некоторых случаях).
|
|||
|---|---|---|---|
|
#18+
Значит, при смене узла дерева проверять правильность введения данных, и не давать поменять узел, если данные неправильные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=73&tid=2039453]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 351ms |

| 0 / 0 |
