Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Как принудительно обновить курсор?   Найти похожие ветки 

 
Чаво   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
15-1185048919
Kostafey
2007-07-22 00:15
2007.08.19
С днем рождения ! 22 июля


15-1185148040
Kostafey
2007-07-23 03:47
2007.08.19
Произвести автозамену стилей шрифтов в Word


15-1185033159
Yanis
2007-07-21 19:52
2007.08.19
Мультфильмы не для детей


2-1184993975
CMOS
2007-07-21 08:59
2007.08.19
Организация множества


2-1185128088
mefodiy
2007-07-22 22:14
2007.08.19
Почему GetCurrentPositionEx возвращает нулевые координаты