У меня есть приложение WPF с пользовательским элементом управления, содержащим HwndHost. HwndHost создается следующим образом:
hwndHost = CreateWindowEx(0, "static", "",
WS_CHILD | WS_VISIBLE,
0, 0,
hostHeight, hostWidth,
hwndParent.Handle,
(IntPtr)HOST_ID,
IntPtr.Zero,
0);
hwndControl = CreateWindowEx(0, "Static", "",
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN
,
0, 0,
hostHeight, hostWidth,
hwndHost,
(IntPtr)PICTUREBOX_ID,
IntPtr.Zero,
0);
Затем я подключаюсь к насосу сообщений с помощью HwndSourceHook, и приходит множество сообщений.
Кроме тех, которые я хочу, то есть WM_MOUSEMOVE, WM_MOUSEHOVER, WM_LBUTTONDOWN и WM_LBUTTONUP
Кроме того, событие OnMouseLeftButtonDown не запускается в коде WPF в главном окне или элементе управления, я полагаю, потому что окна захватывают его и выбрасывают.
Кто-нибудь знает, как я могу заставить их пройти, с использованием или без использования оконных сообщений WIN32?