Еще раз вынужден обратиться к всезнающему сообществу, с никак не разрешаемой своими силами, задачей.
Иметься Frame из которого запускаются два окна:
Start(MyTableBrowse,50000)
Start(PanelNoteWindow,20000)
Причем последнее окно – ToolBox.
И никак не получается после этих манипуляций вернуть фокус на первое окно (MyTableBrowse).
Кто-то ранее писал (отвечал), что у него, наоборот, не получается оставить фокус на таком окне. По этому поводу подготовил пример (апликуху). Кто возьмется помочь? Куда скинуть?
С уважением, все еще пока
NewUser
Написал: NewUser(217)
Вернуть фокус окну
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Гость
- StillZero
- Ветеран
- Сообщения: 458
- Зарегистрирован: 06 Июль 2005, 2:17
- Откуда: Хабаровск
- Поблагодарили: 1 раз
- Контактная информация:
старт потоков та еще штукаStart(MyTableBrowse,50000)
Start(PanelNoteWindow,20000)

как простой вариант: а не поменять ли местами вызов окон

Код: Выделить всё
Start(PanelNoteWindow,20000)
YIELD
Start(MyTableBrowse,50000)

и еще:
Код: Выделить всё
GLO:Thread LONG ! глобальная переменная
GLO:Thread = Start(MyTableBrowse,50000)
YIELD
Start(PanelNoteWindow,20000)
...а в окне PanelNoteWindow:
post(EVENT:GainFocus,,GLO:Thread) ! так наверное
StillZero
Сообщение Гость »
Первый способ
> Start(PanelNoteWindow,20000)
>YIELD
>Start(MyTableBrowse,50000)
не годиться. Потому, что не так сформулировал задачу. Надо так:
при перемещении курсором по списку таблицы в окне MyTable, в зависимости, внесены ли данные в MYT:Note, запускать или убирать окно PanelNoteWindow.
В точке вставки Browse MyTableBrowse Take New Selection пишу:
IF MYT:Note <> ‘’
IF GLO:NotePanelThread = 0 ! Панель не запущена
Start(PanelNoteWindow,20000)
End
elsif GLO:NotePanelThread <> 0
POST(Event:CloseWindow,,GLO:NotePanelThread)
GLO:NotePanelThread = 0
End
В окне PanelNoteWindow в точке Timer вставляю код:
If loc:StartThisWindow = 0 ! При запуске окна - ноль
loc:StartThisWindow = 1
POST(EVENT:GainFocus,,GLO:MyTableThread)
End
Фокус не возвращается….

Написал: NewUser(217)
> Start(PanelNoteWindow,20000)
>YIELD
>Start(MyTableBrowse,50000)
не годиться. Потому, что не так сформулировал задачу. Надо так:
при перемещении курсором по списку таблицы в окне MyTable, в зависимости, внесены ли данные в MYT:Note, запускать или убирать окно PanelNoteWindow.
В точке вставки Browse MyTableBrowse Take New Selection пишу:
IF MYT:Note <> ‘’
IF GLO:NotePanelThread = 0 ! Панель не запущена
Start(PanelNoteWindow,20000)
End
elsif GLO:NotePanelThread <> 0
POST(Event:CloseWindow,,GLO:NotePanelThread)
GLO:NotePanelThread = 0
End
В окне PanelNoteWindow в точке Timer вставляю код:
If loc:StartThisWindow = 0 ! При запуске окна - ноль
loc:StartThisWindow = 1
POST(EVENT:GainFocus,,GLO:MyTableThread)
End
Фокус не возвращается….

Написал: NewUser(217)
Гость
Гость
Гость
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)