|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Здравствуйте! Посоветовали ваш форум, сказали, что здесь есть люди, которые могут помочь в решении следующей задачи. В моей программе требуется сделать так, чтобы клики проходили сквозь форму. Т.е. есть приложение, при нажатии на кнопку на первом окне открывается второе окно сквозь которое должны проходить клики (например, если за окном ярлык - то клик идет по ярлыку, если мы смотрим фильм и жмем на плеер сквозь то же самое окно - ставится пауза). Т.е. это окно должно быть просто информационным. Оно не должно даже активироваться при клике по нему. Я пишу код в C#, а сами формы делаю в WPF. Все дело в том, что здесь не обойтись без API, а я в этом абсолютно не шарю. Поэтому очень прошу помочь! Буду очень благодарен за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 20:42 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
А такое не подойдет? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
правда, тут клики проходят только сквозь прозрачные места - сквозь текст не проходят и IsHitTestVisible=False не помогает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:10 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Такое я уже пробовал делать. Суть в том, что на форме будет изображение и клики должны проходить сквозь него в том числе Я находил вот такой код, но во-первых, это C++, во-вторых, я не понимаю, что в нем и как работает (и должно ли вообще работать) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:18 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Shocker.ProА такое не подойдет? правда, тут клики проходят только сквозь прозрачные места - сквозь текст не проходят и IsHitTestVisible=False не помогаетЭто я посоветовал сюда обратиться. Автору нужно полностью "сквозное" для кликов. Или чтобы пр приближении к окну курсора, окно исчезало и появлялось когда курсор отдаляется. Я не знаю такое, вообще, возможно без API ? Ведь распределение событий между приложениями это работа OC и, кажется, выходит за рамки Net. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:21 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Eld Hasp абсолютно прав!) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:27 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Такое ощущение, что этот сишный код делает то же, что и мой XAML, то есть устанавливает прозрачность окна. Но дело в том, что содержимое окна в WPF отрисовывается через DirectX, а не через GDI Прозрачность окна WPF отрабатывает нормально, почему не отрабатывает IsHitTestVisible - непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:46 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Насколько я понял, IsHitTestVisible просто убирает клик по окну. Т.е. если щелкнуть левой кнопкой мыши по окну - клик просто не будет воспринят, но окно все равно будет активировано ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 21:49 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoderНасколько я понял, IsHitTestVisible просто убирает клик по окну. Т.е. если щелкнуть левой кнопкой мыши по окну - клик просто не будет воспринят, но окно все равно будет активированоНет, у меня как раз клик проходит сквозь окно и активирует то, на что было кликнуто за ним. Но я про тот же текст. Клик на тексте как раз-таки активирует окно, даже если на текстблоке IsHitTestVisible=False ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 22:46 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Shocker.ProНет, у меня как раз клик проходит сквозь окно и активирует то, на что было кликнуто за ним.По моему дело в прозрачности. Если окно прозрачно то клик проходит не зависимо от установок IsHitTestVisible. Это ещё, если правильно помню, появилось в WinXP - так делали окна не прямоугольной формы. Shocker.ProНо я про тот же текст. Клик на тексте как раз-таки активирует окно, даже если на текстблоке IsHitTestVisible=FalseIsHitTestVisible - оно по-моему действует только в рамках приложения. Или даже окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:01 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Да, клики сквозь прозрачную форму проходят и без указания этого свойства ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:06 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoder, прочитайте https://stackoverrun.com/ru/q/6061756 Может можно получить координаты курсора на экране и если они близки координатам окна скрыть его. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:19 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoder, И это тоже посмотрите http://vsokovikov.narod.ru/New_MSDN_API/Cursor/fn_getcursorpos.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:28 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Eld Haspтак делали окна не прямоугольной формы. там в дырках-вырезах не было ничего. Вы же хотите сверху нарисовать, а под ним кликнуть то что не видно? Ничего не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:36 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoderТ.е. это окно должно быть просто информационным. делают balloonhint привязанный к курсору. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:38 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Petro123там в дырках-вырезах не было ничего. Вы же хотите сверху нарисовать, а под ним кликнуть то что не видно? Ничего не понял.Да, я и пишу о прозрачных областях в которых ничего нет. Такое возможно. Но автору нужно "сквозной" клик через непрозрачную или полупрозрачную область. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2018, 23:49 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Eld HaspНо автору нужно "сквозной" клик через непрозрачную или полупрозрачную область. так и представил, иконку 64 на 64 и при клике "на ней\ под ней" запустился почтовый клиент с зависанием на 5 минут)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 00:14 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Petro123Eld HaspНо автору нужно "сквозной" клик через непрозрачную или полупрозрачную область. так и представил, иконку 64 на 64 и при клике "на ней\ под ней" запустился почтовый клиент с зависанием на 5 минут))Как я понял из разъяснений автора, он делает какое-то информационное окошко которое нужно во время какой-то игры. А так как оно заслоняет поле игры, то надо чтобы клики через него попадали в окно игры. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 00:33 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Eld Hasp, В играх окна рукописные и могут не иметь хэндла. Т.е.игра рисуется слоями на экране.... Сцена. И такой проблемы автора там не будет. 2. В играх уже есть движок с окнами. Без движка как то странно. 3. В играх специфика. На ресурс https://gamedev.ru/forum/ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 07:18 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Я делаю, пот сути, оверлей, плагин для игр. Это будет просто прицел по центру экрана (в виде точки, крестика, треугольника и т.д.). Он не привязывается к какой-либо конкретной игре ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 08:04 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoderЯ делаю, пот сути, оверлей, плагин для игр. Это будет просто прицел по центру экрана (в виде точки, крестика, треугольника и т.д.). Он не привязывается к какой-либо конкретной игренельзя было сразу это написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 08:30 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoder, Приложение должно выводить для плагинов onPaint событие. И рисуй там хоть прицел, хоть меридианы координат. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 08:56 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
Прицел то будет в виде картинки, а не рисованный пикселями "от руки" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 09:04 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
И вопрос опять же в том, как это реализовать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 09:05 |
|
Клики сквозь форму
|
|||
---|---|---|---|
#18+
MrKoderПрицел то будет в виде картинки, а не рисованный пикселями "от руки"в смысле? В onPaint ты копируешь картинку на Canvas, сохраняя прозрачность. Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 09:45 |
|
|
start [/forum/topic.php?fid=21&msg=39728937&tid=1440379]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 235ms |
total: | 375ms |
0 / 0 |