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

Двойное отображение подписи

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Двойное отображение подписи
 
Здравствуйте.

В примере mapobj в функции MapWidget::CreateObjects закомментировал создание четырех наборов объектов, вместо него добавил следующий код:
Код
    HOBJ hobj = mapCreateSiteObject(hMap, hSite);
    mapRegisterObject(hobj, 1000000005, LOCAL_TITLE);
    mapAppendPointPlane(hobj, x, y);

    IMGTEXT parm;
    parm.Color = RGB(0, 0, 255);
    parm.BkgndColor = IMGC_TRANSPARENT;
    parm.ShadowColor = IMGC_TRANSPARENT;
    parm.Height = PIX2MKM(30);
    parm.Weight = FW_NORMAL;
    parm.Outline = 0;
    parm.Interval = 50;
    parm.Align = FA_LEFT|FA_BASELINE;
    parm.Service = 0;
    parm.Wide = UNIW_NORMAL;
    parm.Horizontal = 0;
    parm.Italic = 0;
    parm.Underline = 0;
    parm.StrikeOut = 0;
    parm.Type = 0;
    parm.CharSet = RUSSIAN_CHARSET;
    parm.Flag = 0;

    mapAppendDraw(hobj, IMG_TEXT, (char*)&parm);
    mapPutText(hobj, "111", 0);

    mapCommitObject(hobj);
    mapFreeObject(hobj);

В результате, если это запустить и выбрать Объекты/Создать объекты на пользовательской карте, появляется двойное отображение подписи:




Если закомментрировать строку mapAppendDraw(hobj, IMG_TEXT, (char*)&parm);, то останутся розовые единицы. Как сделать так, чтобы остались только синие?

Заранее спасибо.
Изменено: Дмитрий - 29.07.2022 17:32:39
 
 
Если Вы хотите подпись со своей графикой (не из классификатора), вместо mapRegisterObject нужно:
mapRegisterDrawObject(hobj,   0, LOCAL_TITLE);
Но в этом случае для подписи вместо
HOBJ hobj = mapCreateSiteObject(hMap, hSite);
нужно:
HOBJ hobj = mapCreateSiteObject(hMap, hSite,IDDOUBLE2,1);
(явно указать, что создается подпись).
В Вашем случае Вы сначала зарегистрировали подпись из классификатора (у нее свое изображение) и добавили к ней дополнительную графику.
Поэтому она и двоится.
Изменено: Сергей Алексеев - 01.08.2022 13:44:50
Страницы: 1
Читают тему (гостей: 1)



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

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