![]() |
|
|
![]()
|
|
| Гость_Юля |
|
|||
|
Unregistered |
как изменить симвал мышки на IDC_CROSS не делая SetCapture
|
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
Где? Везде или только в пределах твоего окна? Если последнее, копай в сторону WM_SETCURSOR/SetCursor()
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Гость_Юля |
|
|||
|
Unregistered |
в пределах окна - поясните подробние
|
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
А причем тут вообще SetCapture() ? Или это обязательное условие смены курсора?
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
Самый простой способ - указать нужный курсор при регистрации оконного класса. Если же курсор требуется менять динамически, то надо написать обработчик сообщения WM_SETCURSOR, и в нём с помощью функции SetCursor ставить нужный курсор. Примерно так:
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
kometa_triatlon
В том треде пример с SetCursor немного некорректен/неполон, т.к.: Цитата из MSDN
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
srd
Да. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Гм. А что это значит на нормальном языке?
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
Перевод примерно такой:
Другими словами, без обработчика WM_SETCURSOR, после первого же движения мыши курсор будет опять изменён на тот, который был указан при регистрации оконного класса. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
А ведь точно
Но ты представь, сколько сообщений будет послано при перемещении курсора на протяжении двух минут. И каждый - вызов функции. Интересно, чем это Юле не угодила SetCapture ? ;) -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
1. Сообщений через оконную функцию и так проходит очень много, так что ничего страшного в обработке WM_SETCURSOR нет (если содержимое обработчика будет тривиально, разумеется). В конце концов, он может просто возвращать TRUE, а вызов SetCursor() воткнуть в другое место.
2. При захвате мышиные сообщения будут сыпаться в твоё окно, не зависимо от того, где сейчас находится курсор. Как тогда кликать по панелям инструментам, жать кнопки или меню? Добавлено @ 05:39 Ну и захват очень легко потерять -------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |