Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизКак принудительно обновить курсор? Найти похожие ветки
← →
Чаво (2007-07-20 03:37) [0]Я делаю рамочку, которую можно было бы масштабировать мышкой. При наведении на рамочку курсор становится с виде стрелочек туда-сюда. Беру, например, рамочку за левый верхний угол, и опускаю её так, что он становится левым нижним. При этом картинку курсору нужно поменять. Я её меняю. Но пока я не отпущу левую кнопку мыши, реально изображение курсора почему-то остаётся тем же. Как быть? Как его принудительно обновить?
← →
boa_kaa © (2007-07-20 08:38) [1]Следить за позицией мыши.
Менять курсор.
← →
ЮЮ © (2007-07-20 08:45) [2]Cursor есть у TControl и у TScreen. Чтобы он менялся сразу, надо менять Screen.Cursor
← →
Чаво (2007-07-22 01:17) [3]
> ЮЮ © (20.07.07 08:45) [2]
>
> Cursor есть у TControl и у TScreen. Чтобы он менялся сразу,
> надо менять Screen.Cursor
Но тогда такой курсор ставится всему окну, а не отдельному контролу.
← →
Юрий Зотов © (2007-07-22 12:17) [4]> Чаво (20.07.07 03:37)
Рамочка рисованная, или это оконный контрол?
Если первое, то только ручками. Если второе, то посмотрите сообщение WM_NCHITTEST.
← →
wicked © (2007-07-22 19:08) [5]
> Но пока я не отпущу левую кнопку мыши, реально изображение
> курсора почему-то остаётся тем же. Как быть? Как его принудительно
> обновить?
мои догадки
если ничего из вышеперечисленного не поможет, тогда убери значение csCaptureMouse из ControlStyle:
Exclude(myPanel.ControlStyle, csCaptureMouse)
почему: потому что при нажатии мышкой контрол захватывает мышь, а код, меняющий курсоры, следит за этим и не дает поменять картинку курсора для захваченной мыши
могу ошибаться, но я на это наталкивался когда то и решал именно так
← →
Чаво (2007-07-23 03:48) [6]
> Юрий Зотов © (22.07.07 12:17) [4]
>
> > Чаво (20.07.07 03:37)
>
> Рамочка рисованная, или это оконный контрол?
Рисованная.
> Если первое, то только ручками.
В смысле?
> wicked © (22.07.07 19:08) [5]
> > Но пока я не отпущу левую кнопку мыши, реально изображение
> > курсора почему-то остаётся тем же. Как быть? Как его принудительно
> > обновить?
>
> мои догадки
> если ничего из вышеперечисленного не поможет, тогда убери
> значение csCaptureMouse из ControlStyle:
> Exclude(myPanel.ControlStyle, csCaptureMouse)
Попробую!
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c