На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Выделение объекта

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Выделение объекта, Выделение объекта
 
Здравствуйте, пожалуйста подскажите. Как можно программно выделить объект сразу после его создания? Либо выделить последний созданный объект?

т.е чтобы после созд.объекта автоматически открывался диалог с информацией по этому объекту.
axaxMapFind1.cMapObj.ShowDialogInfo(1);
спасибо
 
Здравствуйте.
Вам необходимо для MapObj на событие MapObjCommit добавить вызов диалога.
Например:
Код
procedure TfrmTestMap.MapObjCommit(Sender: TObject);
begin
  MapObj.ShowDialogInfo(1);
end;
 
Спасибо большое  :)
 
а где лучше добавить код добавления семантики, в он_коммите?


private void axaxMapObj1_OnCommit(object sender, EventArgs e)
       {
           if (axaxMapObj1.LayerNumber == 39)
           {
               axaxMapObj1.Semantic.Add(1050);
               axaxMapObj1.Semantic.Add(1001);
           }            
       }

просто в этом случае, иногда выходит ошибка выделения памяти
 
До Commit.
 
Подскажите пожалуйста, как прочитать программно значение семантики выделенного объекта?
В моем случае нужно прочитать значение семантики с номером 1001.


FCurrentObjKadNomer = axaxMapObj1.Semantic.get_SemanticValue(1001);
возвращает null

FCurrentObjKey = axaxMapObj1.Key;
чтение уникального номера работает
 
SemanticValue
Свойство возвращает значение семантической характеристики объекта карты в формате заданным свойством SemanticStyle.
Параметр Number определяет номер семантической характеристики в списке семантики объекта.
Для закрытой карты и для некорректно заданного номера семантической характеристики возвращает пустую строку.

Параметр Number задает именно порядковый номер в списке семантик объекта, а вы задаете классификационный код.
Вы можете перебрать семантики объекта в цикле, считывая их классификационный код и для нужной уже запросить значение.
Второй вариант
Определить порядковый номер характеристики в списке по ее коду.
ii = FindByCode(1001);
А далее axaxMapObj1.Semantic.get_SemanticValue(ii)
 
Спасибо  :)
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности