| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Ноябрь
 
  
  Зарегистрирован: 12.05.2009 Сообщения: 55 Откуда: Уфа
  | 
		
			
				 Добавлено: Чт 04 Июн 2009 11:39    Заголовок сообщения: что за флаг 18.. | 
				     | 
			 
			
				
  | 
			 
			
				| У одного из стилей флаг параметра стиля 18, в доке его нет.. И зачем они так разбросаны?) | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Чт 04 Июн 2009 12:11    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				18 = 2 + 16
 
 
18 = instDisableObjectCreation + instPaintOrderAfterLayer
 
 
18 = Не включать в меню создания объекта + Последовательность рисования после всех объектов слоя _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Ноябрь
 
  
  Зарегистрирован: 12.05.2009 Сообщения: 55 Откуда: Уфа
  | 
		
			
				 Добавлено: Чт 04 Июн 2009 13:27    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				а какой алгоритм расшифровки..?
 
 
пс
 
из каких соображений вы не храните sid в cookies на форуме..? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Чт 04 Июн 2009 14:05    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Тип TIngeoStyleFlags
 
 
1 = instDefineGeometry - Определяет геометрию объекта. 
 
2 = instDisableObjectCreation - Не включать в меню создания объекта. 
 
4 = instDisableContourCreation - Не включать в меню пририсовки формы. 
 
8 = instDisableStyleChanging - Не включать в меню замены стиля. 
 
16 = instPaintOrderAfterLayer - Последовательность рисования после всех объектов слоя. 
 
32 = instPaintOrderAfterMap - Последовательность рисования после всех объектов карты. 
 
48 = instPaintOrderAfterAll - Последовательность рисования после всех объектов. 
 
 
1) Берем значение флага ( в Вашем случае = 18 ).
 
2) Смотрим - из каких слагаемых составляется значение ( 2 + 16 ).
 
3) Получаем - что получилось. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Ноябрь
 
  
  Зарегистрирован: 12.05.2009 Сообщения: 55 Откуда: Уфа
  | 
		
			
				 Добавлено: Чт 04 Июн 2009 15:25    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				хм.. тут явно 3 группы флагов
 
[1] [2,4,8] [16,32,48]
 
из третьей группы похоже не может быть больше одного флага одновременно, может ли быть несколько флагов одновременно одновременно из второй?
 
т.е. 1 + 2 + 4 + 16
 
? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пт 05 Июн 2009 12:37    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				TIngeoStyleFlags содержит следующую информацию:
 
 
Младшие 4 бита содержат набор битовых флагов:
 
 
instDefineGeometry
 
instDisableObjectCreation
 
instDisableContourCreation
 
instDisableStyleChanging
 
 
Эти битовые флаги могут комбинироваться в любой последовательности.
 
Проверка наличия флага делается побитовой операцией AND:
 
 
 	  | Код: | 	 		  if (style.Flags and instDefineGeometry) <> 0 then begin
 
   ...
 
end; | 	  
 
 
 
Следующие 4 бита содержат код (не битовую маску), определяющий последовательности рисования:
 
instPaintOrderNormal
 
instPaintOrderAfterLayer
 
instPaintOrderAfterMap
 
instPaintOrderAfterAll 
 
 
Для вычленения этой группы битов есть константа instPaintOrderMask.
 
Проверка последовательности рисования делается так:
 
 
 	  | Код: | 	 		  if (style.Flags and instPaintOrderMask) = instPaintOrderAfterLayer then begin
 
   ...
 
end; | 	 
  _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |