Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение вида курсора, Всё не так как хотлось бы... 
:(
    Опции темы
Гость_Bourgeoes
Дата 11.12.2004, 10:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Бьюсь уже целые сутки над такой малостью, как смена вида курсора, и, вобщем-то, менять получается и даже удачно, но есть одно НО. Странное дело, но меняется он только если подвигать мышку. Подробности буду разъяснять сразу на своём примере. Мне нужно сделать такую вещь, чтобы при нажатии на левую кнопку мыши курсор менялся на необходимый №2, а при не нажатии на неё на необходимый №1. Где-то там (в моей проге) есть кусок такого кода
........
case WM_LBUTTONDOWN:
{
mouseclkl=false;
return 0;
}
case WM_LBUTTONUP:
{
mouseclkl=true;
return 0;
}
........
тут всё предельно ясно, если левая кнопка мыши нажата, то mouseclkl==false, если нет, то true, реакции правильные и адекватные.
Далее
........
if (mouseclkl==true) SetClassLong(hWnd, GCL_HCURSOR, (long)hr1);
else SetClassLong(hWnd, GCL_HCURSOR, (long)hr2);
........
И теперь зажимая кнопку я не вижу изменений, но, подвинув курсор (с зажатой ЛКМ), вижу чудесное преображение. Почему он не меняется сразу после зажатия я не понимаю. И ещё, как я заметил, можно не двигать, а просто отпустить ЛКМ, курсор меняет начертание, но при движении всё приходит в нормальное состояние.
Если вышеописанная проблема не понятна, то ещё раз но более вразумительно, что нужно получить - ЛКМ не зажата - курсор 1, не зажата курсор 2.
Спаибо за внимание. Пожалейте не умного человека, подскажите. Ещё раз спасибо.
  Вверх
Гость_Bourgeoes
Дата 12.12.2004, 16:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо всем, вопрос я решил. Просто программно двигаю курсор на один пиксель и обратно, всё меняется как надо.
  Вверх
bel_nikita
Дата 12.12.2004, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 4
Всего: 47



А UpdateWindow не помогает?


З.Ы.: сорри если не в тему smile


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.