Установить курсор
От: IDm Россия  
Дата: 07.12.01 03:06
Оценка:
Добрый день.
КАК?! Как установить курсор??? Недавно стал осваивать WTL и поэтому может я чего-то недопонимаю???
Например по нажатию левой кнопки мыши нужно установить курсор, я делаю так:
LRESULT OnLButtonDown (...)
{
SetCursor (LoadCursor (NULL, IDC_WAIT));
return 0;
}
Все просто и понятно, НО НЕ РАБОТАЕТ. Происходит следующее — нажимаю кнопку мыши, курсор меняется, но как-только передвигаю мышь или отпускаю кнопку — БАЦ!!! — он обратно в IDC_ARROW. Причем никакие другие сообщения не обрабатываю, мой класс порожден от CWindowImpl<CMyWnd, CWindow>

Кстати, не получилось у меня установить курсор и в WNDCLASS, покажите где и как нужно это делать. Блин! Может я чего не так делаю, но это ж простые вещи. Второй день парюсь с этим курсором...

Кто-нибудь поделитесь познаниями.
Re: Установить курсор
От: Андрей Россия  
Дата: 07.12.01 04:39
Оценка:
Здравствуйте IDm, Вы писали:

...

IDm>Все просто и понятно, НО НЕ РАБОТАЕТ. Происходит следующее — нажимаю кнопку мыши, курсор меняется, но как-только передвигаю мышь или отпускаю кнопку — БАЦ!!! — он обратно в IDC_ARROW.


...

И правильно, что не работает — курсор надо устанавливать в обработчике сообщения WM_SETCURSOR.
Re: Установить курсор
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 07.12.01 04:41
Оценка:
Здравствуйте IDm, Вы писали:

IDm>Добрый день.

IDm>КАК?! Как установить курсор??? Недавно стал осваивать WTL и поэтому может я чего-то недопонимаю???
IDm>Например по нажатию левой кнопки мыши нужно установить курсор, я делаю так:
IDm>LRESULT OnLButtonDown (...)
IDm>{
IDm> SetCursor (LoadCursor (NULL, IDC_WAIT));
IDm> return 0;
IDm>}
IDm>Все просто и понятно, НО НЕ РАБОТАЕТ. Происходит следующее — нажимаю кнопку мыши, курсор меняется, но как-только передвигаю мышь или отпускаю кнопку — БАЦ!!! — он обратно в IDC_ARROW. Причем никакие другие сообщения не обрабатываю, мой класс порожден от CWindowImpl<CMyWnd, CWindow>

IDm>Кстати, не получилось у меня установить курсор и в WNDCLASS, покажите где и как нужно это делать. Блин! Может я чего не так делаю, но это ж простые вещи. Второй день парюсь с этим курсором...


IDm>Кто-нибудь поделитесь познаниями.


LoadCursor делай в OnLButtonDown и запоминай результат в HCURSOR m_hCur а SetCursor(m_hCur) делай в обработчике WM_SETCURSOR и возвращай из него TRUE.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.