У меня есть приложение 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 в главном окне или элементе управления, я полагаю, потому что Windows перехватывает его и выбрасывает.
Кто-нибудь знает, как я могу заставить их проходить, с использованием или без использования оконных сообщений WIN32?