|
|
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Всем доброго {GMT} ! У меня есть Tab-control с двумя страницами. Надо при определённом условии в runtime выпонить переход на вторую страницу. Пытаюсь делать "по науке" (т.е. по PB Help): if <некое_условие> then tab_mytab.SelectedTab = 2 // или через функцию: tab_mytab.SelectTab(2) -- эффект тот же end if Так вот, это не помогает, где бы не располагать эти команды (я перепробовал все "мыслимые" события для окна, в котором находится этот Tab: Open, Activate, Show). Причём, когда ставишь паузу в событии Activate, то видно, что нужная мне страница установлена. Однако затем что-то там заставляет его снова делать активной страницу номер 1. Полагаю, что копать надо в сторону TriggerEvent события SelectionChanging, но в PB-хелпе нет нормального примера (там событию надо передавать два аргумента, а как это сделать ?) Может, кто подскажет, как правильно ? Всем ответившим заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 13:07 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
p519446У меня есть Tab-control с двумя страницами. Надо при определённом условии в runtime выпонить переход на вторую страницу. Пытаюсь делать "по науке" (т.е. по PB Help): if <некое_условие> then tab_mytab.SelectedTab = 2 // или через функцию: tab_mytab.SelectTab(2) -- эффект тот же end if Так вот, это не помогает, где бы не располагать эти команды (я перепробовал все "мыслимые" события для окна, в котором находится этот Tab: Open, Activate, Show). Причём, когда ставишь паузу в событии Activate, то видно, что нужная мне страница установлена. Однако затем что-то там заставляет его снова делать активной страницу номер 1. Именно так оно у меня и работает. Ищи, что у тебя её меняет втихаря на 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 13:19 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Dim2000Именно так оно у меня и работает. Ищи, что у тебя её меняет втихаря на 1. Не все так просто. Похоже это зависит от версии. В PB 9 build 7171 действительно работает. В PB6 - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 14:08 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Локшин Марк Dim2000Именно так оно у меня и работает. Ищи, что у тебя её меняет втихаря на 1. Не все так просто. Похоже это зависит от версии. В PB 9 build 7171 действительно работает. В PB6 - нет.Гм... Действительно, в PB 6.5 не работает. 2 p519446 Спасти может асинхронный вызов - смотрите сами, устроит или нет. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 14:19 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
На 6 никакими post мне это не удалось сделать. И в отдельном событии вызывать тоже не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 14:50 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Локшин МаркНе все так просто. Похоже это зависит от версии. В PB 9 build 7171 действительно работает. В PB6 - нет. Ну раз спросивший не указал номер версии - значит, ему, наверное, всё равно ;)? Кстати, у меня на 6.5.1 именно SelectTab(n) очень даже замечательно работает, хотя, может быть, и не должно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 15:05 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
1) Попробовать вместо номера передавать ссылку на страницу Код: plaintext 2) Проверить в Tab событие SelectionChanging, где можно предотвращать передачу фокуса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 15:42 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Dim2000 Локшин МаркНе все так просто. Похоже это зависит от версии. В PB 9 build 7171 действительно работает. В PB6 - нет. Ну раз спросивший не указал номер версии - значит, ему, наверное, всё равно ;)? Кстати, у меня на 6.5.1 именно SelectTab(n) очень даже замечательно работает, хотя, может быть, и не должно .Pure PB без каких-либо pfc и прочих надстроек, код которых мог бы повлиять на результат, версия файла pbvm60.dll - 6.5.1.620. Далее. Вызов функции tab_1.SelectTab(2) нажатием на кнопку замечательным образом отрабатывает, но автор топика спрашивает не об этом. Если вызвать tab_1. SelectTab(2) из события Open, то, несмотря на то, что функция возвращает 1, результата ее работы не видно :-( Асинхронный вызов этой функции из события Open приводит к желаемому результату. На прочих версиях не проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 15:45 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, я действительно забыл указать версию: у меня установлен PB 9.0.1 build 7236. Уважаемый PL99! Не могли бы Вы показать тут пару строк работающего примера, связанного с асинхр. вызовом из события Open ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 12:04 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
p519446Прошу прощения, я действительно забыл указать версию: у меня установлен PB 9.0.1 build 7236. Уважаемый PL99! Не могли бы Вы показать тут пару строк работающего примера, связанного с асинхр. вызовом из события Open ? http://www.sql.ru/forum/actualthread.aspx?tid=130189#1034004 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 13:26 |
|
||
|
Как программно установить нужную страницу в Tab control'e ?
|
|||
|---|---|---|---|
|
#18+
Вот примерчик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2004, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32738266&tid=1338813]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 520ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...