Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

что за флаг 18..

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
Ноябрь



Зарегистрирован: 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;

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB