Window API에 관한 질문인데요.. 이거가지구 거의 한달남짓 고생하다가 이제 포기직전이에요.
제발 꼭 도와주세요. 알려주시면 은혜잊지 않을께요. 흑흑.. -_-
일단 부모창이 하나 있구요.
다음과 같이 API를 사용해서 자식창을 만들었어요.
RECT rc;
GetClientRect(Parent_Window_Handle, &rc);
// 자식창을 만든다.
CreateWindowEx( WS_EX_TRANSPARENT,
TB_CLASS_NAME,
NULL,
WS_CHILDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
rc.left,
rc.top,
rc.right - rc.left,
rc.bottom - rc.top,
Parent_Window_Handle,
NULL,
g_hInst,
(LPVOID)this);
자식창은 WS_EX_TRANSPARENT 속성을 가지고 있어서 투명한데요. 자식창은 꼭 투명해야 하거든요.
근데 문제는 이상하게도 부모창의 어느부분이라도 마우스로 클릭하면 이 자식창이 뿅 사라져요.
그러다가 부모창의 좌우 사이즈가 변경이 되면 다시 이 자식창이 멀쩡하게 나타나구요.
근데 이 자식창의 속성이 WS_EX_TRANSPARENT 가 아니구 다른거라면 이런 현상이 일어나지 않거든요?
하지만 자식창은 꼭 투명이어야 하구, 그러기 위해서 꼭 WS_EX_TRANSPARENT 를 써야한다고
알고 있었는데 이거 쓰면 이렇게 사라지는 문제가 생기구..
이 자식창이 사라지는 문제를 어케 해결하는 방법은 없을까요?
고수님들의 많은 지도와 조언 부탁드려요.
제발 꼭 부탁드려요 -_-
미리 감사드립니다.
쉽게 생각해서.. 만약 메인폼에서 마우스클릭만 안하면 되는거져?
그럼 메인폼에서 마우스클릭 메세지를 잡아서 없애면 돼겠네요..^^
가능하다면.. 메인폼에서 자식창으로 가는 메세지를 체크해보면 되는데....
그건 버거우실거 가트니..
그냥 메인폼의 클릭이벤트에서 필요한 작업을 하구.. 메세지를 없애세요...ㅠㅠ
정공으로 안되면 돌아가는 방법도 있져..^^
즐푸하세요..
타락천사......
heizel wrote:
> Window API에 관한 질문인데요.. 이거가지구 거의 한달남짓 고생하다가 이제 포기직전이에요.
> 제발 꼭 도와주세요. 알려주시면 은혜잊지 않을께요. 흑흑.. -_-
>
> 일단 부모창이 하나 있구요.
> 다음과 같이 API를 사용해서 자식창을 만들었어요.
>
> RECT rc;
> GetClientRect(Parent_Window_Handle, &rc);
>
> // 자식창을 만든다.
> CreateWindowEx( WS_EX_TRANSPARENT,
> TB_CLASS_NAME,
> NULL,
> WS_CHILDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
> rc.left,
> rc.top,
> rc.right - rc.left,
> rc.bottom - rc.top,
> Parent_Window_Handle,
> NULL,
> g_hInst,
> (LPVOID)this);
>
> 자식창은 WS_EX_TRANSPARENT 속성을 가지고 있어서 투명한데요. 자식창은 꼭 투명해야 하거든요.
> 근데 문제는 이상하게도 부모창의 어느부분이라도 마우스로 클릭하면 이 자식창이 뿅 사라져요.
> 그러다가 부모창의 좌우 사이즈가 변경이 되면 다시 이 자식창이 멀쩡하게 나타나구요.
>
> 근데 이 자식창의 속성이 WS_EX_TRANSPARENT 가 아니구 다른거라면 이런 현상이 일어나지 않거든요?
>
> 하지만 자식창은 꼭 투명이어야 하구, 그러기 위해서 꼭 WS_EX_TRANSPARENT 를 써야한다고
> 알고 있었는데 이거 쓰면 이렇게 사라지는 문제가 생기구..
> 이 자식창이 사라지는 문제를 어케 해결하는 방법은 없을까요?
>
> 고수님들의 많은 지도와 조언 부탁드려요.
> 제발 꼭 부탁드려요 -_-
>
> 미리 감사드립니다.