Анимированный курсор
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Анимированный курсор
А setcursor не поддерживает анимированные курсоры (с расширением .ani)? Или формат определённый нужен? Или как всё-таки показать свой анимированный курсор.
We are hard at work… for you. 

- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Анимированный курсор
Вот пример чей то.
- Вложения
-
- anicur.zip
- (9.32 КБ) 87 скачиваний
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Анимированный курсор
При загруженном таким методом курсоре, мушка перестает работать.
Пока не выгрузим курсор. Так что костыль.
Пока не выгрузим курсор. Так что костыль.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Анимированный курсор
Посмотрел пример - действительно дурость какая-то. Вообще я хотел стандартный подменить на время выполнения программы. Надо плотнее в Инете поискать, может современные способы какие есть.
We are hard at work… for you. 

-
- ✯ Ветеран ✯
- Сообщения: 5160
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Анимированный курсор
Дошли руки до темы. Есть Винапишная функция SetSystemCursor. С её помощью получается то, что надо:
Теперь везде при вызове "setcursor(CURSOR:Wait)" будет мой курсор.
При выходе из программы - не забыть вернуть курсор на место и выгрузить свой курсор. Я пока на первых порах решил так:
Минус пока один. В других программах - тоже мой курсор
. Надо ещё подумать. Может делать обратную подмену при потере фокуса, при получении фокуса опять включать свой?
Код: Выделить всё
GLO:CursorFile = '..\media\j.ani'
GLO:CursorHandle = LoadCursorFromFile(GLO:CursorFile)
if GLO:CursorHandle
i# = SetSystemCursor(GLO:CursorHandle, OCR_WAIT)
else
stop('Ошибка загрузки курсора')
end
При выходе из программы - не забыть вернуть курсор на место и выгрузить свой курсор. Я пока на первых порах решил так:
Код: Выделить всё
if GLO:CursorHandle
GLO:CursorFile = clip(GLO:WinDir) & '\Cursors\aero_busy.ani'
GLO:OldCursorHandle = LoadCursorFromFile(GLO:CursorFile)
i# = SetSystemCursor(GLO:OldCursorHandle, OCR_WAIT)
i# = DestroyCursor(GLO:CursorHandle)
end

We are hard at work… for you. 
