Главная страница
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.021 c
2-1184705148
JetAPI
2007-07-18 00:45
2007.08.19
TListView; закрасить/затереть текст в колонке.


5-1160128745
Alek_1
2006-10-06 13:59
2007.08.19
idSMTP


2-1185565559
sproot
2007-07-27 23:45
2007.08.19
как сделать две равноправные формы?


3-1177314557
Сергей М.
2007-04-23 11:49
2007.08.19
Интерфейс объекта VisualFoxPro.Application в составе vfpXr.dll


1-1181721913
xpublic
2007-06-13 12:05
2007.08.19
Как получить список всех пунктов меню для организации доступа