2011-02-11 6 views
0

.NET에서는 클릭 할 수있는 불투명 양식을 만들 수 있습니까? 마우스 클릭을 양식 바로 뒤에있는 창으로 전송하는 일종의 API가 있어야한다고 가정합니다. 어느 것?.NET의 불투명 한 클릭 연결 양식

+0

WinForms 또는 WPF? (또한 이것은 매우 이상한 요청처럼 보입니다. 사용자는 일반적으로 불투명 한 윈도우가 마우스 이벤트를 수신하는 것보다 기대합니다.) –

+0

양식이 투명하지 않은 경우 클릭하는 것을 사용자가 어떻게 파악할 것을 제안합니까? –

답변

2

양식 클릭 연결을 만들려면 Windows API에서 몇 가지 기능을 P/호출하고 양식 extended window styles을 설정해야합니다. VB.NET에서 샘플 코드를 표현하기 위해 임의로 선택했습니다. 이것이 사용자의 기호가 아니라면 쉽게 C#으로 변환됩니다.

확장 된 창 스타일을 검색하는 데 사용할 GetWindowLong function으로 시작하십시오.

Public Const GWL_EXSTYLE As Integer = -20 

<DllImport("user32.dll", CharSet:=CharSet.Auto)> _ 
Public Shared Function GetWindowLong(ByVal hWnd As IntPtr, _ 
            ByVal nIndex As Integer) As Integer 
End Function 

추가 자영 윈도우 스타일을 지정하려면 자매 기능 SetWindowLong도 필요합니다.

<DllImport("user32.dll", CharSet:=CharSet.Auto)> _ 
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, _ 
            ByVal nIndex As Integer, _ 
            ByVal dsNewLong As Integer) As Integer 
End Function 

그리고 설정해야합니다 확장 된 창 스타일에 대한 일정이 모두 사용할 지금

Public Const WS_EX_TRANSPARENT As Integer = &H20 


, 당신은 양식의 OnLoad method 및 추가 다음 줄을 재정의 할 수 있습니다 :

물론 사용자가 양식의 요소와 상호 작용할 수 없으며 극단적으로으로 끝내기가 어렵습니다. 이것이 정말로 당신이하고 싶은 일인지 신중하게 고려하십시오.