WPF 응용 프로그램에서 WinForms 사용자 컨트롤을 호스팅하는 것보다 조금 더 많은 작업을 수행하면서 실제로 최상위 창인 Delphi 양식을 호스팅하고 있습니다. 나는 블로그 게시물 How To Host Top-Level HWNDs In WPF에서 부두교를 통해 그렇게하고있다.WPF의 호스팅 된 창에 마우스 메시지가 표시되지 않습니다.
거의 모든 것이 완벽하게 작동합니다. 델파이에 내장 된 COM 서버를 메뉴 경로 문자열로 보내면 윈도우 핸들이 다시 전송됩니다.이 핸들은 블로그에 설명 된 호스트 컨트롤로 전달됩니다. 델파이 창은 내 모든 개입없이 거의 모든 이벤트 (오히려 Windows 메시지)를 올바르게 수신합니다.
유일한 문제는 버튼입니다. 클릭 이벤트/메시지를 수신하고 작동하지만 델파이 직원은 버튼에 새로운 아이콘을 추가했으며 각 버튼에는 활성 아이콘, 호버 아이콘 및 클릭 아이콘이 있습니다. 그들은이 아이콘을 변경해야하는 메시지를받지 못합니다. 왜 거의 모든 메시지가 이들을 제외하고 작동합니까? 이것을 읽고 수정할 수있는 방법은 무엇입니까?
메시지를받지 못했다는 것을 어떻게 알 수 있습니까? Spy ++와 같은 도구로 확인 했습니까? http://msdn.microsoft.com/en-us/library/dd460756.aspx –
@SimonMourier 델파이에 무엇이 있더라도 메시지를받지 못한다고 가정합니다. " 마우스 오버 "이벤트가 발생하지 않고 색상이 변경됩니다. 순수 델파이 응용 프로그램 에서이 작동합니다. – ProfK
Spy ++ 또는 다른 도구로 확인해야합니다. 그렇지 않으면 잘못된 마우스를 쫓을 수 있습니다. –