Так делал кто? Нужно чтобы менялось, пока зажата кнопка мыши. В два действия не пойдет
Нажатая кнопка
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Нажатая кнопка
Нажатая кнопка
Сделай регион с атрибутом imm, с подложенной под него картинкой. И лови Event:MouseUp и Event:MouseDown (он же Event:Accepted), меняя картинку, а через параметр BEVEL можно управлять выпуклостью и впуклостью....
Ещё хорошо сказать 0{Prop:Buffer}=1, потому как дёргается картинка
Ещё хорошо сказать 0{Prop:Buffer}=1, потому как дёргается картинка
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Нажатая кнопка
Тоже сделал. Надо ещё не забыть отработать EVENT:MouseOut. И, чтобы было ощущение "глаз на самом Entry-поле" нужно поизвращаться с дизайном.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Нажатая кнопка
В C10 вроде есть аналогичное - ?Image -> Enable active image
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4960
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
Нажатая кнопка
Нет, это не то. Это замена кнопок имиджами, и провоцирование событий кнопки. А тут кнопка не нужна категорически. Тут нужно как раз отследить нажатие и отпуск. В общем, смысла нет для этих целей копать класс ActiveImage.gopstop2007 писал(а): ↑12 Сентябрь 2017, 16:05 В C10 вроде есть аналогичное - ?Image -> Enable active image
We are hard at work… for you.
Нажатая кнопка
а через CURSOR можно поуправлять формой курсора мыши...Yufil писал(а): ↑11 Сентябрь 2017, 15:16 Сделай регион с атрибутом imm, с подложенной под него картинкой. И лови Event:MouseUp и Event:MouseDown (он же Event:Accepted), меняя картинку, а через параметр BEVEL можно управлять выпуклостью и впуклостью....
Ещё хорошо сказать 0{Prop:Buffer}=1, потому как дёргается картинка
p.s. решил попробовать сам, если просто дописать в window к региону
Код: Выделить всё
..., CURSOR('hand.cur')
Код: Выделить всё
SETCURSOR('~hand.cur')/SETCURSOR(CURSOR:Arrow)
Нажатая кнопка
Не совсем правильно. Вместо Setcursor(Cursor:Arrow) надо просто SetCursor. А Вместо 'hand.cur' - cursor:hand, чтобы курсор корректно менялся вместе с настройками Уиндоуз...
Нажатая кнопка
может и неправильно так, но думаю если в тексте окна для региона ручками добавлена установка нестандартного курсора, например cursor:hand(если такой будет определен, например в winXP/cw6)\или из файлика 'hand.cur' (region...,imm,cursor('...')), то setcursor() просто снимет пред. и вернет заданное по умолчанию значение, т.е. думаю что в такой "обстановке" после setcursor() курсор мышки примет вид определенный ранее в windows...cursor()
Нажатая кнопка
У меня были проблемы с Cursor:Arrow, дальше переключение курсора срабатывало как-то неправильно,вроде бы SetCursor(Cursor:Arrow) распространялось на все контролы, деталей не помню, давно было. Усвоил, что SetCursor без параметров предпочтительнее. Кроме того, Control{Prop:Cursor} = ... значительно лучше, чем SetCursor(...) .
И да, пользователь может установить свою тему (с большими курсорами, цветными и т.д.), ему наш курсор может и не понравиться
В некоторых проектах вешал cursor:hand на все кнопки, прикольно...
И да, пользователь может установить свою тему (с большими курсорами, цветными и т.д.), ему наш курсор может и не понравиться
В некоторых проектах вешал cursor:hand на все кнопки, прикольно...
Нажатая кнопка
согласен, про темы пользователя я понял еще из первого примечания ,Yufil писал(а): ↑14 Сентябрь 2017, 21:39 У меня были проблемы с Cursor:Arrow, дальше переключение курсора срабатывало как-то неправильно,вроде бы SetCursor(Cursor:Arrow) распространялось на все контролы, деталей не помню, давно было. Усвоил, что SetCursor без параметров предпочтительнее. Кроме того, Control{Prop:Cursor} = ... значительно лучше, чем SetCursor(...) .
И да, пользователь может установить свою тему (с большими курсорами, цветными и т.д.), ему наш курсор может и не понравиться
В некоторых проектах вешал cursor:hand на все кнопки, прикольно...
про {Prop:Cursor} - думаю с ним будет более элегантно все выглядеть в коде, можно не присваивать пользовательский курсор региону по умолчанию, а просто аккуратно отрабатывать все события в регионе, но сам пока не пробовал и поэтому не стал писать тут,
ну а вообще про темы/внешний вид и прочее - да, пользователи "отпечаток" накладывают - например, зная что мои не будут/не смогут/не захотят в 99% состава менять установленное по дефолту - просто не парюсь с этими нюансами, "всплывет" вопрос - будем решать...
ps. да, забыл - у меня наблюдались проблемы с cursor:hand, причем только в cw6, в с10 при той же обстановке - все было ОК
Последний раз редактировалось Ал 15 Сентябрь 2017, 9:46, всего редактировалось 1 раз.
Нажатая кнопка
Вспомнил, в чём сущность проблемы SetCursor(...) перекрывает курсоры для контролов.
Если, например, я сказал Setcursor(Cursor:Wait) - то будут песочные часики или колёсико, невзирая на то, над каким контролом стоит указатель мыши.
Точно так же SetCursor(Cursor:Arrow) отключит курсоры для контролов текущего окна. А вот SetCursor без параметров - не отключит...
Если, например, я сказал Setcursor(Cursor:Wait) - то будут песочные часики или колёсико, невзирая на то, над каким контролом стоит указатель мыши.
Точно так же SetCursor(Cursor:Arrow) отключит курсоры для контролов текущего окна. А вот SetCursor без параметров - не отключит...
Нажатая кнопка
я так понимаю: SetCursor() без параметров - восстанавливает дефолтный курсор - т.е. выключает "временный", заданный предыдущим SetCursor(параметр)Yufil писал(а): ↑15 Сентябрь 2017, 9:46Вспомнил, в чём сущность проблемы SetCursor(...) перекрывает курсоры для контролов.
Если, например, я сказал Setcursor(Cursor:Wait) - то будут песочные часики или колёсико, невзирая на то, над каким контролом стоит указатель мыши.
Точно так же SetCursor(Cursor:Arrow) отключит курсоры для контролов текущего окна. А вот SetCursor без параметров - не отключит...
но так как человек ленив по своей природе, а еще и программированием пытаюсь заниматься - т.е. ленив x2 , то просто сразу в свойствах региона дописал нужный курсор по дефолту типа, а при выходе начал обрабатывать, кстати есть вариант по дизайну - не как у сбера с рукой, а поставить или двутавровую вертикальную черту или со стрелочками север-юг вертикальную - если делать как продолжение строки ввода закрытого password слова - будет меньше "выпадать" из стиля?
Последний раз редактировалось Ал 15 Сентябрь 2017, 9:56, всего редактировалось 1 раз.
Нажатая кнопка
В CW6 (CW55, CW5, CW4....) Cursor:Hand просто забыли прописать в Libsrc.ps. да, забыл - у меня наблюдались проблемы с cursor:hand, причем только в cw6, в с10 при той же обстановке - все было ОК
Ну да, примерно так...я так понимаю: SetCursor() без параметров - восстанавливает дефолтный курсор - т.е. выключает "временный", заданный предыдущим SetCursor(параметр) -
Нажатая кнопка
да, просто лень править
надо добавить в equates.clw:
Код: Выделить всё
CURSOR:Hand EQUATE ('<0FFH,01H,8AH,7FH>')