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

как добиться чтобы работал Hand курсор в окне?

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
как добиться чтобы работал Hand курсор в окне?
 
В примерe Mapedit к GisToolkit Active в коде вроде бы устанавливается HAND курсор принажатии кнопки на тулбаре

    if (sender == btnScale)
         {
              if (btnScale.Checked)
                 ZoomMap = true;
                 else ZoomMap = false;
              if (ZoomMap){
                 Cursor.Current = Cursors.Hand;

однако при этом реально курсор не меняется

я пытался устанавливать его по другому this.Cursor = Cursors.Hand;

Это дает эффект, но только до тех пор пока курсор находится над тулбар. Как только он перемещается на область карты , он опять меняется на стрелку. Видимо его сбрасывает сам ActiveX.

Есть ли счастливчики, кторые победили эту проблему?
 
Добрый день! Спасибо за сообщение! Для компонент отображения карты добавим свойство для установки курсора.
 
Цитата
Леонид Чуманов пишет:
Есть ли счастливчики, которые победили эту проблему?
Есть, Леонид.
Поставьте реакцию на событие mousemove смену курсора на Cursors.Hand.  :idea:
 
Цитата
Роман Твердов пишет:
Добрый день! Спасибо за сообщение! Для компонент отображения карты добавим свойство для установки курсора.

вроде в полученной нами новой версии указано

Код
Изменения
    ------------------

    axcMapView,        - добавлено свойство Cursor, позволяющее установить вид    
    axcMapVindow,        курсора над картой.
    axcMapScreen


Но по факту есть только свойство short CtlCursor

Непонятно, что в него надо устанавливать?
 
Значения на картинке:
Изменено: KFF - 01.01.2014 15:54:33
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Подскажите а сейчас перечень курсоров тот-же остался?
Хотелось бы лупу, руку(открытую, закрытую) ..  
 
Курсоры берутся из среды разработки. Если есть дополнительные, то вы можете добавить их на этапе выполнения стандартными средствами.  
 
Цитата
Andrey Gheleznyakov написал:
Курсоры берутся из среды разработки. Если есть дополнительные, то вы можете добавить их на этапе выполнения стандартными средствами.  
Не совсем понял про добавление. Поясните пожалуйста.

Пробовал делать так axcMapView->setCursor( Qt::OpenHandCursor ); //Реакции никакой
еще так axcMapView->dynamicCall("SetCursor(int)", (int) Qt::OpenHandCursor ); //Реакции тоже никакой
и только так стандартная стрелочка менялась на ручку с пальчиком axcMapView->dynamicCall("SetCursor(int)", -21 );
-21 брал из пятого поста.
 
Есть какое-нить решение?
 
Компонент axcMapView работает с предустановленным набором курсоров.
Установить нужный курсор можно указав целочисленный код этого курсора из того перечня, что был указан выше:

Цитата
KFF написал:
Значения на картинке:

Коды курсоров в QT имеют тип перечисления и задаются от 0 до 24, поэтому их применять некорректно.
При использовании какой либо другой среды разработки и языка программирования может быть третий вариант кодирования курсоров, и четвертый и т.д.

Для axcMapView необходимо использовать те коды, которые он понимает (см. картинку выше).

Загрузить свой курсор на этапе выполнения можно функциями операционной системы.
В Windows - LoadCursor + SetCursor.
Страницы: 1
Читают тему (гостей: 1)



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

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