|
전체에 대한 이벤트를 받으시기 위해서는, 동적으로 이벤트를 링크하시거나,
(For문을 컴포넌트만큼 돌려서, 객체 위에 있는 것들을 맵핑)
아니면, 아래와 같이 GetCursorPos 에서 위치를 읽어서, 위치의 해당 객체를 판별하신 다음
처리를 직접 해주셔도 되고요,
HWND hdHandle;
tagPOINT tpPosition;
GetCursorPos(&tpPosition);
hdHandle = WindowFromPoint(tpPosition);
아니면, Form 전체에 메시지를 걸어주셔서, WM_MOUSEDOWN, WM_MOUSEUP,
WM_MOUSEACTIVATE 를 잡아주셔서 마우스를 체크할 수 있습니다.
cuperido
ilys4 님이 쓰신 글 :
: 하나의 폼이 있습니다. 그 안에 컴포넌트들이 있구요.
: 그중 하나는 opengl 화면으로 마우스로 내용을 조작하는겁니다.
:
: 마우스 up, down, move 이벤트를 사용하는데,
: 그 패널에 연관 시키면 커서가 패널밖으로 넘어가면 (당연히) up, down, move 가 듣질 않으니 제대로 작동을 안합니다.
: 그래서 패널 전체에 대해 이벤트를 걸고자 form 에다가 걸었더니
: 이번엔 폼의 보이는 부분에대해서만 작동을 하고 컴포넌트 위에서는 작동을 안합니다.
:
: 이거 어떻게 해야하나요?
: 간단한 힌트만이라도 주시면 찾아서 해보겠습니다.
: 왠지 간단하게 해결할 수 있을 것 같은데, 검색해봐도 뭘 해야하는지 모르겠네요.
:
: 답변 부탁드립니다.
|