Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Сокрытие курсора с экрана   Найти похожие ветки 

 
Добежал   (2009-01-19 14:22) [0]

Как грамотно реализовать такой функционал:

есть GUI приложение, развернутое на весь экран. Внутри GUI-приложения растянутый на всю площадь приложения TWebBrowser. Нужно, если мышка не двигалась в течении пары секунд - скрывать курсор с экрана. При этом, чтобы курсор не появлялся на экране, если перемещение мышки происходит мгновенно (а точнее, используются клики по сенсорному дисплею) и появлялся, когда начинают водить реальной мышкой.

Может, кто делал такое?


 
KSergey ©   (2009-01-19 14:32) [1]

> Добежал   (19.01.09 14:22)  
> При этом, чтобы курсор не появлялся
> на экране, если перемещение мышки происходит мгновенно (а
> точнее, используются клики по сенсорному дисплею) и появлялся,
>  когда начинают водить реальной мышкой.

А я медленно поведу пальцем по сенсорному экрану - и обману алгоритм :)

Может можно как-то отличать тип "мышки", от которой пришел клик?


 
Добежал   (2009-01-19 14:56) [2]


> А я медленно поведу пальцем по сенсорному экрану - и обману
> алгоритм :)


а вот тут не знаю... По-моему, сенсорные экраны клико-ориентированные. Если ты начнешь медленно водить пальцем по тачскрину - он это воспримет как ошибку... Или это зависит от настроек драйверов... Блин, сам не знаю данный вопрос.


> Может можно как-то отличать тип "мышки", от которой пришел
> клик?


можно и так. Один вопрос - как? ))


 
ketmar ©   (2009-01-19 14:56) [3]

грамотно будет отрубить нафиг «реальную» мышь.

---
All Your Base Are Belong to Us


 
vuk ©   (2009-01-19 14:59) [4]

Э... А зачем совмещать сенсорный экран и мышь?


 
vuk ©   (2009-01-19 15:02) [5]

Сенсорные экраны нормально эмулируют мышь, и клики и перемещение.


 
БарЛог ©   (2009-01-19 15:20) [6]

левой рукой по тачскрину двигаешь влево, правой рукой мышку двигаешь вправо. смотреть, кто "победит" :)

а зачем курсор скрывать?


 
Добежал   (2009-01-19 15:31) [7]

мне нужно скрыть курсор, чтобы он не маячил на экране, так как не нужен. Но если подойдет настройщик, подключит мышь - то чтобы мог ей двигать и ее было видно. Вот так в идеале.

Если попроще, то задача сводится к тому, чтобы управлять видимостью курсора в TWebBrowser в зависимости от флагов, с которыми запущена программа.

Если совсем уж просто - чтобы уметь отключать глобально для системы видимость курсора. Но это я наверное сейчас найду как сделать в поисковике... Главное, чтобы при даже аварийном завершении потом в системе видимость курсора восстанавливалась.


 
test   (2009-01-19 15:38) [8]

Добежал   (19.01.09 15:31) [7]
А мышь зачем админу в Кваку на нем играть что ли?


 
Добежал   (2009-01-19 15:48) [9]

чтобы настраивать удобнее было блин.


 
ketmar ©   (2009-01-19 15:49) [10]

>[7] Добежал (2009-01-19 15:31:00)
>eсли подойдет настройщик, подключит мышь — то чтобы мог ей двигать и ее было видно.

вот для этого делают «технологический доступ». кнопочка в труднодоступном месте с паролем — и вуаля! и курсор и прочие свистелки. поработал — техдоступ закрыл. easy as a cake.

---
Do what thou wilt shall be the whole of the Law.


 
KSergey ©   (2009-01-19 16:00) [11]

> ketmar ©   (19.01.09 15:49) [10]
> вот для этого делают «технологический доступ». кнопочка в труднодоступном месте с паролем

прикинь пароль узнают.. а ведь текучка кадров наверняка не маленькая, и рулить на месте посылают наверняка студентов, как водится...


 
ketmar ©   (2009-01-19 16:20) [12]

>[11] KSergey © (2009-01-19 16:00:00)
в оригинальной задаче у автора вообще никакого «доступа по паролю» нет — так что даже если узнают, то сведётся к оригинальной задаче, но с одной кнопочкой. пароль — это защита от малолетнего хацкирья, не более.

---
All Your Base Are Belong to Us


 
ketmar ©   (2009-01-19 16:21) [13]

>[11] KSergey © (2009-01-19 16:00:00)
проблемы секурности, как понимаешь, решаются совсем другими методами.

---
Do what thou wilt shall be the whole of the Law.


 
Добежал   (2009-01-19 16:24) [14]

ketmar ©   (19.01.09 16:21) [13]
Ты дурак??


 
KSergey ©   (2009-01-19 16:27) [15]

Где же защитники всех униженных??!


 
ketmar ©   (2009-01-19 16:51) [16]

>[14] Добежал (2009-01-19 16:24:00)
>Ты дурак??

ищешь собрата по развитию?

---
Do what thou wilt shall be the whole of the Law.


 
ketmar ©   (2009-01-19 16:55) [17]

(философски-отвлечённо) нифига в мире не течёт и не изменяется. вот не ходил, заглянул — а быдлошколия так и не уменьшилось. сами нифига не умеют, зато понтов полная жопа.

---
Do what thou wilt shall be the whole of the Law.


 
Добежал   (2009-01-19 17:39) [18]

Товарищи, никто не знает как решить проблему в результате? Повторю вопрос:

мне нужно скрыть курсор, чтобы он не маячил на экране, так как не нужен. Но если подойдет настройщик, подключит мышь - то чтобы мог ей двигать и ее было видно. Вот так в идеале.

Если попроще, то задача сводится к тому, чтобы управлять видимостью курсора в TWebBrowser в зависимости от флагов, с которыми запущена программа.

Если совсем уж просто - чтобы уметь отключать глобально для системы видимость курсора. Но это я наверное сейчас найду как сделать в поисковике... Главное, чтобы при даже аварийном завершении потом в системе видимость курсора восстанавливалась.

P.S. пост [14] писал не я, конечно. То есть, не автор темы.


 
KSergey ©   (2009-01-19 17:44) [19]

> Добежал   (19.01.09 17:39) [18]
> Если попроще, то задача сводится к тому, чтобы управлять
> видимостью курсора в TWebBrowser в зависимости от флагов,  с которыми запущена программа.

Отлично, и какие траблы? Ну подумаешь аварийно завершится, техник ее запустит с праильным ключиком - и появится. Не  сумеет запустить без мыши? хотя, если нет клавы... хм.. Может это, клаву лучше подключать? :)

> P.S. пост [14] писал не я, конечно. То есть, не автор темы.

Не надо врать. Кто не врет - те регистрируются. И кто регистрируются - тот не врёт.


 
Добежал   (2009-01-19 17:44) [20]

пока придумал только половинчатое решение по второму пункту.

В шаблоны документов вводится JS-функция аля:

document.body.style = "cursor:url
("images/blank.cur"), auto;"


Соответственно, программа после каждой загрузки страницы или вызывает, или не вызывает данную функцию. Плохо тем, что:

- разработчик шаблонов должен учитывать это и в каждую страницу не забывать вкладывать такую функцию, не очень удобно

- не будет работать с отключенным JS в IE.

Для идеальной картины нужно независимо от того, что в HTML документе уметь отключать курсор в TWebBrowser... Как это решить не придумал.

Ну а самое идеальное решение задачи, это уметь отслеживать перемещение происходит с помощью тачскрина или с помощью обыкновенной мыши. Если с помощью мыши то показывать курсор на пару секунд.


 
Добежал   (2009-01-19 17:46) [21]


> Отлично, и какие траблы?


я не знаю способа скрывать / показывать курсор в TWebBrowser в динамике.


> Ну подумаешь аварийно завершится, техник ее запустит с праильным
> ключиком - и появится


просто чем меньше знаний нужно технику для управления ПО - тем лучше.


 
Добежал   (2009-01-19 17:46) [22]


> Не надо врать


ну так и начни с себя, не ври о том, чего не знаешь.


 
ketmar ©   (2009-01-19 18:03) [23]

>[18] Добежал (2009-01-19 17:39:00)
если уж *совсем* просто — тебе кто-то запрещает отлавливать подключение/отключение USB-мыши?

---
Do what thou wilt shall be the whole of the Law.


 
Добежал   (2009-01-19 18:15) [24]


> если уж *совсем* просто — тебе кто-то запрещает отлавливать
> подключение/отключение USB-мыши?

нехороший на мой взгляд способ. недостатки, которые придумал сразу:

1) мыши бывают еще как минимум PS/2. А в принципе и COM еще есть.

2) мышка может быть подключена допустим и засунута внутрь закрываемого бокса.

P.S. Мне бы еще решить проблему помельче - как динамически скрывать курсор в TWebBrowser, независимо от кода загруженной страницы?


 
ketmar ©   (2009-01-19 18:25) [25]

>[24] Добежал (2009-01-19 18:15:00)
>1) мыши бывают еще как минимум PS/2. А в принципе и COM еще есть.

за подключение «на живую» PS/2 надо бить в бубен. за COM — просто тащить на выставку допотопных технологий (а что, ещё делают платы, куда *это* воткнуть можно? O_O). обе эти «проблемы» отлично решаются моей идеей с дополнительной кнопкой.

>2) мышка может быть подключена допустим и засунута внутрь закрываемого бокса.
запретить.

>Мне бы еще решить проблему помельче — как динамически скрывать курсор в
>TWebBrowser, независимо от кода загруженной страницы?

например, направить ie через проксь, который к каждой странице дописывает css/js.

---
Do what thou wilt shall be the whole of the Law.


 
Добежал   (2009-01-19 18:34) [26]

Ясно.

По сути, продолжаю поиск более красивых решений, чем предложил ketmar.


 
ketmar ©   (2009-01-19 19:05) [27]

>[26] Добежал (2009-01-19 18:34:00)
да запросто. драйвер-фильтр, который различает мышь и тачскрин. красиво? угу. надо? нет.

---
Understanding is not required. Only obedience.


 
Добежал   (2009-01-19 19:18) [28]

я уверен, что есть еще решения кроме драйвера-фильтра.

Еще продолжаю искать решение того, как скрыть курсор в TWebBrowser, независимо от текста загруженной страницы.


 
ketmar ©   (2009-01-19 20:12) [29]

>[28] Добежал (2009-01-19 19:18:00)
>Еще продолжаю искать решение того, как скрыть курсор в TWebBrowser, независимо
>от текста загруженной страницы.

таки перестать его использовать и взять более мощную обёртку?

---
All Your Base Are Belong to Us


 
[wl]   (2009-01-20 03:01) [30]

это что, очередной автомат по приему платежей?


 
Добежал   (2009-01-20 11:55) [31]


> таки перестать его использовать и взять более мощную обёртку?


TEmbeddedWB? А как в нем сделать требуемое?


 
vuk ©   (2009-01-20 12:09) [32]

Я не понял, а что, ShowCursor(false) не работает?


 
Добежал   (2009-01-20 12:30) [33]


> Я не понял, а что, ShowCursor(false) не работает?

это глобально для системы, не хотелось бы. Иначе в случае аварийного завершения приложения я так понимаю курсор так и останется невидимым?

Вот ShowCursor в общем подходит, но если бы возможно было его применение в рамках процесса.

Можно еще значок курсора для формы изменить на пустое, но данные настройки не повиляют никак на отображение курсора над компонентом TWebBrowser...


 
vuk ©   (2009-01-20 12:33) [34]

to Добежал   (20.01.09 12:30) [33]:
>это глобально для системы
Вы проверяли? Судя по всему - нет. Это локально для приложения.


 
Добежал   (2009-01-20 12:42) [35]


> Вы проверяли? Судя по всему - нет. Это локально для приложения

снимаю шляпу! Действительно, ступил. Спасибо большое! Вопрос управления видимостью курсора решился.

Теперь осталась программа-максимум: каким-то образом понимать, перемещение курсора из-за мышки реальной происходит или тачпада...


 
AndreyV ©   (2009-01-20 12:51) [36]

> [35] Добежал   (20.01.09 12:42)
> Теперь осталась программа-максимум: каким-то образом понимать,
> перемещение курсора из-за мышки реальной происходит или
> тачпада...

В развитие кнопки от ketmar.
На сенсорном экране наверно нет имитации средней кнопки? Отлавливай нажатие на мышке, двойной клик колёсиком, например, включает/выключает.


 
vuk ©   (2009-01-20 13:04) [37]

На сенсорном экране и правой-то кнопки нету. Не говоря уже о средней. :)


 
KSergey ©   (2009-01-20 13:19) [38]

О, к стати колеса - тоже нету! можно прокручивание колеса отлавливать, это просто


 
AndreyV ©   (2009-01-20 13:34) [39]

> [37] vuk ©   (20.01.09 13:04)
> На сенсорном экране и правой-то кнопки нету. Не говоря уже
> о средней. :)


> [38] KSergey ©   (20.01.09 13:19)
> О, к стати колеса - тоже нету! можно прокручивание колеса
> отлавливать, это просто

Правая кнопка и прокрутка пригодятся при работе мышкой, а WM_MBUTTONDBLCLK вряд ли понадобится в приложении автора.

Ещё экзотика: отстучать морзянкой слово "курсор" в определённом месте экрана.:) Но это могут и пользователи сделать.


 
KSergey ©   (2009-01-20 13:58) [40]

> AndreyV ©   (20.01.09 13:34) [39]
> Ещё экзотика: отстучать морзянкой слово "курсор" в определённом  месте экрана.:)

Ага, админамм проходить двухнедельные курсы со сдачей зачета :)



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.053 c
15-1233208661
charoey_mag
2009-01-29 08:57
2009.03.29
GSM сигнализация по температуре


15-1232607826
XentaAbsenta
2009-01-22 10:03
2009.03.29
сервис


2-1233132780
Валера
2009-01-28 11:53
2009.03.29
Перевод значения в бинарный код


2-1233776721
trsteep
2009-02-04 22:45
2009.03.29
XML vs TreeView


2-1233266183
R13
2009-01-30 00:56
2009.03.29
For loop control variable must be simple local variable





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский