Пытаюсь сделать окно, сквозь которое можно кликать.
Состав: 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