Страница 1 из 1
					
				
				Добавлено: 12 Май 2005, 14:58
				 Гость
				Еще раз вынужден обратиться к всезнающему сообществу, с никак не разрешаемой своими силами, задачей.
Иметься Frame из которого запускаются два окна:
Start(MyTableBrowse,50000)
Start(PanelNoteWindow,20000)
Причем последнее окно – ToolBox.
И никак не получается после этих манипуляций вернуть фокус на первое окно (MyTableBrowse).
Кто-то ранее писал (отвечал), что у него, наоборот, не получается оставить фокус на таком окне. По этому поводу подготовил пример (апликуху). Кто возьмется помочь? Куда скинуть?
С уважением, все еще пока
NewUser
Написал: NewUser(217)
			 
			
					
				
				Добавлено: 13 Май 2005, 3:52
				 StillZero
				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) ! так наверное 
Написал: PAA(27)
 
			
					
				
				Добавлено: 13 Май 2005, 11:19
				 Гость
				Первый способ
> 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)
 
			
					
				
				Добавлено: 13 Май 2005, 12:24
				 Гость
				попробуй вместо
POST(EVENT:GainFocus,,GLO:MyTableThread)
послать
POST(EVENT:User,,GLO:MyTableThread)
а в обработчике события EVENT:User в процедуре с браузером сделать банальный
SELECT(<?List>)
Написал: Вадим Синявский(200)
			 
			
					
				
				Добавлено: 13 Май 2005, 15:19
				 Гость
				Именно то, что нужно!!!
Огромное спасибо, PAA aka Still Zero и Вадим, за помощь!
Написал: NewUser(217)