Забанить смену курсора
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7337
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Забанить смену курсора
Привет всем !
Очередной "детский" вопрос, на который нет очевидного ответа ...
Есть MDI WINDOW с аттрибутом RESIZE.
Само изменение размера окна запрещено (просто рамка окна красивей в Win10, чем в окне с аттрибутом DOUBLE).
Но при наведении курсора на рамку окна - курсор естесно изменяет внешний вид на стрелки, показывая возможность
изменения размера окна, что в данном случае неверно.
Можно как-то заблокировать изменение внешнего вида курсора при наведении на рамку окна с аттрибутом RESIZE ?
Заранее спасибо ! О том, что хорошо, когда в жизни нет других проблем - я знаю.
Очередной "детский" вопрос, на который нет очевидного ответа ...
Есть MDI WINDOW с аттрибутом RESIZE.
Само изменение размера окна запрещено (просто рамка окна красивей в Win10, чем в окне с аттрибутом DOUBLE).
Но при наведении курсора на рамку окна - курсор естесно изменяет внешний вид на стрелки, показывая возможность
изменения размера окна, что в данном случае неверно.
Можно как-то заблокировать изменение внешнего вида курсора при наведении на рамку окна с аттрибутом RESIZE ?
Заранее спасибо ! О том, что хорошо, когда в жизни нет других проблем - я знаю.
За теми кто отстал - не возвращаться. (С) Кодекс
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Забанить смену курсора
На что люди тратят время
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7337
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Забанить смену курсора
У меня есть заказчик (ген. директор торговой фирмы) у которого есть любимая фраза:
"Могу разговарить о чём угодно и с кем угодно, если это приводит к росту продаж".
Он это говорит серьёзно. Но иногда ведь хочется сделать какую-нибудь глупость просто так ....
"Могу разговарить о чём угодно и с кем угодно, если это приводит к росту продаж".
Он это говорит серьёзно. Но иногда ведь хочется сделать какую-нибудь глупость просто так ....
За теми кто отстал - не возвращаться. (С) Кодекс
Забанить смену курсора
..., а если поставить запрет изменения, а рамки дорисовать по вкусу заказчика ручками по краям или подложить картинку?? - размер то окна не надо менять, т.е. просто "намалевать" что ему надо, а с обработкой курсоров не заморачиваться ...
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Забанить смену курсора
Чтобы получилось качественно, придётся свою картинку для каждого окна делать.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Забанить смену курсора
Полубредовая идея возникла в моей голове. Есть винапишные функции, связанные с курсором LoadCursor, LoadCursorFromFile, SetSystemCursor, DestroyCursor. В одном проекте я их использую, подменяя стандартные "песочные часы". Примеры:
Можно при открытии своего окна подменить курсоры OCR_SIZE... на OCR_NORMAL. При выходе сделать обратную подмену. Я ещё пытался сделать обратную подмену при потере фокуса моим приложением и прямую подмену при получении фокуса, но что-то не до конца разобрался, срабатывало как-то через раз.
Код: Выделить всё
GLO:CursorFile = '..\media\j.ani'
GLO:CursorHandle = LoadCursorFromFile(GLO:CursorFile)
if GLO:CursorHandle
i# = SetSystemCursor(GLO:CursorHandle, OCR_WAIT)
else
stop('Ошибка загрузки курсора')
end
GLO:CursorFile = clip(GLO:WinDir) & '\Cursors\aero_busy.ani'
GLO:OldCursorHandle = LoadCursorFromFile(GLO:CursorFile)
if ~GLO:OldCursorHandle
stop('Ошибка загрузки курсора')
end
Код: Выделить всё
if GLO:CursorHandle and GLO:OldCursorHandle
i# = SetSystemCursor(GLO:OldCursorHandle, OCR_WAIT)
i# = DestroyCursor(GLO:CursorHandle)
i# = DestroyCursor(GLO:OldCursorHandle)
end
SetCursor()
We are hard at work… for you.
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Забанить смену курсора
Ага и при падении программы будем получать косяки с курсорами.
Примерно как перемещение окна страдает сейчас когда Clarion отключает "Отображение содержимого окна при перетаскивании"
Примерно как перемещение окна страдает сейчас когда Clarion отключает "Отображение содержимого окна при перетаскивании"
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Забанить смену курсора
Ну это форс-мажор. Чего это программа будет падать?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7337
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Забанить смену курсора
Упс ! Так ведь есть другие окна, на которые можно переключаться или открывать из окна ...kreator писал(а): ↑18 Ноябрь 2017, 15:14Можно при открытии своего окна подменить курсоры
Я пытаюсь разобраться какое событие возникает при наведении курсора на область рамки окна ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Забанить смену курсора
Есть LoseFocus и GainFocus, но идея полубредовая, естественно, впрочем как и задача . Неужто рамка совсем другая в режиме resize?Игорь Столяров писал(а): ↑18 Ноябрь 2017, 16:14 Упс ! Так ведь есть другие окна, на которые можно переключаться или открывать из окна ...
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7337
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Забанить смену курсора
Просто блажь ... Захотелось "такую же точно, но с перламутровыми пуговицами". Бывает.
Хотя ... Если для окна включен RESIZE и введено ограничение Restrict MIN / MAX Window Size = 0,
то по хорошему смена курсора на краях рамки окна должна убираться шаблоном.
Зачем показывать действие, которое заведомо невозможно выполнить ?
Если поле ENTRY неактивно (disable), то курсор же не меняет форму на ввод данных ...
За теми кто отстал - не возвращаться. (С) Кодекс
Забанить смену курсора
... видимо если есть родительское окно, то туда идет ... что на мышь не кнопали..., ну и вид курсора по необходимости меняется...Игорь Столяров писал(а): ↑18 Ноябрь 2017, 16:14Упс ! Так ведь есть другие окна, на которые можно переключаться или открывать из окна ...kreator писал(а): ↑18 Ноябрь 2017, 15:14Можно при открытии своего окна подменить курсоры
Я пытаюсь разобраться какое событие возникает при наведении курсора на область рамки окна ...