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

TMapObject

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
TMapObject, выделение объекта
 
Здравствуйте господа разработчики !
----------
Ситуация:
Компонента TMapObject обладает свойством выделение текущего объекта посредством установки свойств Style StyleSelect
Вопрос :
Как установить толщину выделения (контура)
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Для пользовательской настройки служат ряд параметров в TMApObj, пример ниже (ObjectFind это TMapObj).
var
aImgLine   : TIMGLINE;

procedure TfrmFind.Button4Click(Sender: TObject);
begin
 ObjectFind.StyleSelect := SEL_USERFUNC;
 ObjectFind.Mode := R2_COPYPEN;
 ObjectFind.IMage := IMG_LINE;
 ObjectFind.Parm := @aImgline;
 aImgline.Color := clRed;
 aImgline.Thick := MKMINPIX * 2;

end;
 
Спасибо за ответ !
Простыми словами свойство Parm служит для установки нужного вида при выделении.
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Здравствуйте !
Проверил Ваше предположение - выделение не получается.
Прошёлся по коду компоненты а там следующее




а далее
{$IFNDEF LINUXAPI}
    mapViewMapObject(mv.MapHandle, mv.Handle, dp, aImage, FObj, cPP_PICTURE);
{$ENDIF}

{$IFDEF LINUXAPI}
    mapViewMapObject(mv.MapHandle, HDC(mv.FpDC), dp, aImage, FObj, cPP_PICTURE);
{$ENDIF}
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Код взят из работающего примера. По кнопке Button4 осуществляется настройка выделения объекта.

var
aImgLine : TIMGLINE;

procedure TfrmFind.Button4Click(Sender: TObject);
begin
ObjectFind.StyleSelect := SEL_USERFUNC;
ObjectFind.Mode := R2_COPYPEN;
ObjectFind.IMage := IMG_LINE;
ObjectFind.Parm := @aImgline;
aImgline.Color := clRed;
aImgline.Thick := MKMINPIX * 2; // количество пикселов - толщина
 
Цитата
Andrey Gheleznyakov пишет:
ObjectFind.StyleSelect := SEL_USERFUNC;
а нужно
Цитата
ObjectFind.StyleSelect := SEL_BLINK2;
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Такой вариант (управление толщиной изображения) при моргании реализуем в следующих версиях (потребуется дополнительный параметр), а пока можете изменить текст исходного кода компонента:
aImgline.Thick := MKMINPIX * 2; // количество пикселов - толщина
 
Цитата
Andrey Gheleznyakov пишет:
а пока можете изменить текст исходного кода
Тексты я менять не стану потому что всё будет мигать жирным (и там где не надо)
Сделал проще - дописал обработчик на таймере , работает =)

п.с вопрос задал потому что, думал что, можно без обработчика
Не тот глуп кто не знает, а тот, кто не знает где искать.
Страницы: 1
Читают тему (гостей: 1)



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

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