Страница 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