| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		burgomistr
 
 
  Зарегистрирован: 24.03.2008 Сообщения: 10
 
  | 
		
			
				 Добавлено: Сб 24 Янв 2009 22:41    Заголовок сообщения: Реализация кнопки "вписать всю территорию" | 
				     | 
			 
			
				
  | 
			 
			
				| Нужно реализовать сабж. В принципе, некоторые идеи есть, но тут в форуме andreichernov упоминал объект IngeoAction. Сдается мне, что все уже придумано до нас © Где  можно почитать про этот объект поподробней? Чего-то в хэлпе не нашел я ничего. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Tulon
 
  
  Зарегистрирован: 11.07.2006 Сообщения: 77 Откуда: Сочи
  | 
		
			
				 Добавлено: Пн 26 Янв 2009 12:22    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				То есть нужна именно программная реализация встроенной функции Ингео?
 
Можно и не через IngeoAction, чтобы вызвать встроенную функцию надо знать как она называется. Попробуйте вписать, используя функцию:
 
 	  | Код: | 	 		  | Application.MainWindow.MapWindow.Navigator.ZoomToFitWorldRect(aX1, aY1, aX2, aY2) | 	  , где aX1, aY1, aX2, aY2 - параметры объекта Application.ActiveDb.Areas.Item(0) - X1, Y1, X2, Y2. _________________ Нет ни чего сложнее, чем достигнуть простоты. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		burgomistr
 
 
  Зарегистрирован: 24.03.2008 Сообщения: 10
 
  | 
		
			
				 Добавлено: Вт 27 Янв 2009 01:33    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Получилось, спасибо. Но про  IngeoAсtion все равно интересно   | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Tulon
 
  
  Зарегистрирован: 11.07.2006 Сообщения: 77 Откуда: Сочи
  | 
		
			
				 Добавлено: Вт 27 Янв 2009 13:32    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Заинтересовался тоже этим вопросом - про IngeoActions. Раньше вроде несколько раз хотел выдернуть их список, но всё руки не доходили.
 
Вот наваял простенький скрипт, который частями выводит названия всех имеющихся функций и в конце демонстрирует вызов одной из них - собственно той, которая в сабже.
 
 
 	  | Код: | 	 		  sub MacroActionList_MacroShowActions()
 
   dim Actions
 
   dim ANum, ResultStr
 
   set Actions = Application.MainWindow.Actions
 
   for ANum=0 to Actions.Count-1
 
      if ResultStr<>"" then
 
         ResultStr = ResultStr + chr(10)
 
      end if
 
      if len(ResultStr)>=200 then
 
         MsgBox ResultStr
 
         ResultStr = ""
 
      end if
 
      ResultStr = ResultStr + Actions.Item(ANum).Name
 
   next
 
   MsgBox ResultStr
 
   Actions.Item("ActionsViewZoomAll").Execute
 
end sub | 	 
  _________________ Нет ни чего сложнее, чем достигнуть простоты. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |