2012-07-07 4 views
0

나는 해결책을 찾았지만 어떤 해결책도 찾지 못했습니다.wxwidgets transparent client area

HWND hwnd = (HWND)GetHandle(); 
SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED|WS_EX_TOOLWINDOW); 
SetLayeredWindowAttributes(hwnd, RGB(255,255,255), 0, LWA_COLORKEY); 
Refresh(); 

이 너무 wxWidgets에 함께 작동 : 기본 Win32에서 투명 framedwindow의 clientarea을 할 수 있습니다. 그것은 클라이언트 영역도 투명하게 만듭니다. 그러나 이제는 창 형식을 클릭 할 수 없습니다. "TestFrame :: OnPaint (wxPaintEvent & 이벤트)"및 "TestFrame :: TestFrame (wxWindow * parent, wxWindowID id)"메서드에서이 코드를 paint하려고했습니다.

창을 이동하려면 제목 표시 줄을 클릭 할 수있게해야합니다.

미리 감사드립니다.

답변

0

HWND hwnd = (HWND)GetHandle(); 
SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED|WS_EX_TOOLWINDOW); 
SetLayeredWindowAttributes(hwnd, RGB(255,255,0), 0, LWA_COLORKEY); 

을 시도하고 어쩌면 문제가 RGB (255, 255, 255)를 사용하도록 선택했다

노란색의 backgroundColor = 설정합니다. RGB (255,255,0)를 사용하는 경우. 그것은 작동합니다.