HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #10  
Старый 20.02.2021, 18:35
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

Репутация: 93
По умолчанию

Пытаюсь сделать окно, сквозь которое можно кликать.

Состав: imgui на opengl + прозрачное, безрамочное окно windows

Проблема в перенаправлении кликов; на примере рабочего стола, я могу кликнуть на ярлык и выделить его, но через раз окно /оверлея/ получает buttondown без buttonup (согласно spy++ прицепленному к моему окну) и левый клик залипает. При этом, физически он отпущен. Полагаю, я создал мешанину из сигналов, но весь день убил -- понять не могу, что делаю не так

Так же пробовал return 0 вместо обработки вообще любых сигналов, при курсоре не наведённом на имгуи окно (именно имгуи, а не его hwnd), но тогда клики просто не проходят (даже без залипания, просто теряется способность кликать насквозь)

Привязка окна, которое будет за imgui окном, осуществляется так:

C++:





Код:
if
(
ImGui
::
IsItemActive
(
)
)
{
lmb_ignore
=
true
;
hwnd_target
=
WindowFromPoint
(
cpos
)
;
GetWindowTextW
(
hwnd_target
,
temp_wchar
,
256
)
;
str
(
temp_wchar
,
256
,
tied_window_text
,
256
)
;
}
else
lmb_ignore
=
false
;


WndProc моего окна:

Цитата:
Сообщение от Спойлер  


C++:





[CODE]
if
(
!
(
target_cursor
.
x
>=
overlayWindow
[
1
]
-
10
&&
target_cursor
.
x
=
overlayWindow
[
3
]
-
10
&&
target_cursor
.
y



 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.