|
|
|
Общий отработчик события для нескольких TabSheet
|
|||
|---|---|---|---|
|
#18+
На форме расположен PageControl с несколькими TabSheet ... например их N -штук Необходимо выполнять определенные действия по событию - щелкаем по "корешку" TabSheet - видимо это будет " OnEnter ", т.е. при получении Фокуса!? При этом для каждого из имеющихся TabSheet - набор операторов должен быть индивидуальным. Вопрос: 1. Правильно ли выбрано событие " OnEnter " по щелчку на "корешке"? 2. Как лучше реализовать? (см.варианты ниже) Var-1 : Написать и присвоить процедуры по событию для каждого TabSheet , т.е. N -процедур; (Вариант конечно простой...) Var-2 : Написать Одну общюю для всех TabSheet процедуру, где уже внутри выяснить - какая именно из них получила фокус и перейти на блок, отрабатывающий нужные инструкции (Тут же внутри процедуры). (Как в этом случае сделать более изящным - определение TabSheet , получившего фокус и отработать нужное? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2017, 09:43:43 |
|
||
|
Общий отработчик события для нескольких TabSheet
|
|||
|---|---|---|---|
|
#18+
событие OnChange и там смотреть pageControl.ActivePage ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2017, 10:32:17 |
|
||
|
Общий отработчик события для нескольких TabSheet
|
|||
|---|---|---|---|
|
#18+
В общем пока так... Общая процедура обработки получилась такой: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. (где вместо " ... " следует индивидуальный код для каждой TabSheet ) По событию "OnEnter" вкладок TabSheet данная процедура почему то не отрабатывалась..((( Поэтому переназначил на событие "OnShow" каждой из вкладок... Работает!!! ... krapotkinсобытие OnChange и там смотреть pageControl.ActivePage Попробую сделать как подсказал krapotkin : - удалю ссылки во вкладках по событию "OnShow"; - поставлю в самом PageControl на событие OnChange . ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2017, 11:03:49 |
|
||
|
Общий отработчик события для нескольких TabSheet
|
|||
|---|---|---|---|
|
#18+
krapotkinсобытие OnChange и там смотреть pageControl.ActivePage krapotkin , спасибо за подсказку! Ваш вариант оказался лучше, чем ставить обработчик на каждый TabSheet !!!..))) ... Недостатки предыдущего моего решения (Обработчик на каждую из закладок) : 1. Необходимость указывать процедуру в Каждой из закладок (Но в теории Закладки могут быть и динамически создаваемыми!). 2. Не нужная отработка "Нулевой" вкладки при запуске приложения (хотя это может быть иногда и пригодилось бы!). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2017, 11:13:11 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=125&tid=2041561]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 303ms |

| 0 / 0 |
