Страница 1 из 1
Фокус на окно в Frame?
Добавлено: 02 Октябрь 2006, 15:06
iBAH
Здравствуйте, хочу выполнить фокус на дочернее окно в Frame... извините за тривиальный вопрос... как это сделать?
из Frame запускаются разные процессы
Код: Выделить всё
thread1 LONG
thread2 LONG
thread1=START(SomeWin1, 25000)
thread2=START(SomeWin2, 25000)
по нажатию на кнопку хочу переключать фокус между окнами? не знаю как

ЗЫ делал EVENT:User в SomeWin...
в EVENT:User делал что-то типа SELECT(?SomeControl)
по кнопке в Frame POST(EVENT:User,,thread)...
ничего не получилось...

Добавлено: 02 Октябрь 2006, 15:32
Admin
EVENT:BringToTop EQUATE(EVENT:User+123)
...
POST(EVENT:BringToTop,,thread1)
...
CASE EVENT()
OF EVENT:BringToTop
Window{PROP:Active} = TRUE
END
надеюсь все понятно ...
Добавлено: 02 Октябрь 2006, 15:35
Admin
Кстати если окно свернуто можно еще и Window{PROP:Iconize} = False воткнуть ...
Re: Фокус на окно в Frame?
Добавлено: 02 Октябрь 2006, 16:45
Andrew™
iBAH писал(а):Здравствуйте, хочу выполнить фокус на дочернее окно в Frame... извините за тривиальный вопрос... как это сделать?
из Frame запускаются разные процессы
Код: Выделить всё
thread1 LONG
thread2 LONG
thread1=START(SomeWin1, 25000)
thread2=START(SomeWin2, 25000)
по нажатию на кнопку хочу переключать фокус между окнами? не знаю как

ЗЫ делал EVENT:User в SomeWin...
в EVENT:User делал что-то типа SELECT(?SomeControl)
по кнопке в Frame POST(EVENT:User,,thread)...
ничего не получилось...

а чего
не катит, я юзаю
Добавлено: 03 Октябрь 2006, 10:05
Yufil
Admin писал(а):EVENT:BringToTop EQUATE(EVENT:User+123)
...
POST(EVENT:BringToTop,,thread1)
...
CASE EVENT()
OF EVENT:BringToTop
Window{PROP:Active} = TRUE
END
надеюсь все понятно ...
1. Общеупотребительно использование не специального Event, а Event:GainFocus для этой цели, видел несколько раз. Заодно окно, вытаскиваемое вперёд, обновится.
2. Очень полезная вещь - в System{Prop:Active} хранится номер задачи активного окна. Если управляющая кнопка на фрейме, можно проверить, кто сверху.
Re: Фокус на окно в Frame?
Добавлено: 09 Октябрь 2006, 15:52
iBAH
Andrew™ писал(а):
а чего
не катит, я юзаю
я так делал, че то не работает... в дочернем окне то чего и где писать?
Добавлено: 09 Октябрь 2006, 15:57
iBAH
Admin писал(а):EVENT:BringToTop EQUATE(EVENT:User+123)
...
POST(EVENT:BringToTop,,thread1)
...
CASE EVENT()
OF EVENT:BringToTop
Window{PROP:Active} = TRUE
END
надеюсь все понятно ...
дык канечна понятно... тока как решить такую проблему... если из одного из окон, запущеных процессом, открыть какую-нибудь форму, то при переключении фокуса на другое окно обратно уже не вернуться пока не закроем форму

?
Re: Фокус на окно в Frame?
Добавлено: 09 Октябрь 2006, 16:40
Andrew™
iBAH писал(а):Andrew™ писал(а):
а чего
не катит, я юзаю
я так делал, че то не работает... в дочернем окне то чего и где писать?
проверил - стопудово работает
Код: Выделить всё
tmp &WINDOW
SETTARGET(,ThreadNo)
tmp &= SYSTEM{PROP:Target}
tmp{PROP:Active} = True