2012-06-16 8 views
0

양식의 가시성을 조정하지 않고도 양식의 전체 경계를 투명하게 투명하게 볼 수 있습니까?전체 양식의 투명도가 가장 낮음

WindowFromPoint에 대한 user32 API 호출을 사용하여 마우스 컨트롤을 찾습니다. 어떤 경우에는 주 폼 (또는 다른 자식 폼) 앞에 떠있는 자식 폼의 존재를 무시하고 싶지만이 폼은 보이지 않게 유지하십시오.

무시할 양식의 불투명도를 0으로 설정하면 hittest가 성공적으로 통과하지만 모양이 분명히 보이지 않으며 표시되도록 유지하는 것이 좋습니다.

이 자식 폼은 임의의 수의 컨트롤을 가질 수 있으므로이 폼을 가로 채기위한 방법이 있습니까? WM_NCHITTEST 메시지가 각 컨트롤에 대해 적중률 투명성을 반환 할 수 있도록 폼의 자식 컨트롤로 이동합니까? 양식에 포함 된 컨트롤은 임의적이므로 내부적으로 수정할 수 없습니다.

+0

메시지를 캡처 할 양식에서 WndProc 메서드를 재정의하려 했습니까? 그게 작동하지 않으면 MessageFilter, 자세한 정보를 사용할 수 있습니다 : http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/7bd3e24f-c21c-4490-910d-b47b6becf70d –

+0

실제 무엇입니까? 필터링에 적용 할 규칙? 참조 : http://msdn.microsoft.com/en-us/library/ms158404.aspx –

+0

@Emo 폼의 자식 컨트롤이 아니라 다른 Win32 API 호출에 대한 히트 테스팅을합니다. – roken

답변

1

WS_EX_TRANSPARENT Windows 스타일을 찾고 있습니다.

This answer은 충분한 설명을 제공합니다.

+0

빙고! WS_EX_LAYERED와 함께 WS_EX_TRANSPARENT가 트릭을 수행합니다. – roken

관련 문제