어떤 문제인지는 잘 모르겠지만, 마우스가 눌린 상태에서는 WM_MOUSEMOVE 메세지는 컨트롤 밖으로 나가도 발생을 하도록 되어 있습니다. 즉, 컨트롤이 다른 쪽으로 Focued 되지 않는다는 것을 의미하는 것입니다.
정 처리에 문제가 되신다면, CM_MOUSEENTER, EM_MOUSELEAVE 메세지를 받아서 컨트롤 밖으로 나갔을 때, 위치를 계산해서 연산을 해 주시면 될 것 같습니다.
김진섭 님이 쓰신 글 :
:
:
:
:
:
:
: 컴포넌트를 처음 만드는지라 여러가지로 삽질 투성입니다.
:
: 아래에서 설명드린 트랙바 컴포넌트를 만들고 있는데요..
:
: 슬라이드 바를 좌/우로 드래그시켜 값을 변경하는 것까지는 구현이 되었는데,
:
: 문제는 드래깅 중에 마우스가 컨트롤을 벗어나게 되면 그 순간 슬라이드 바의 움직임이
:
: 멈춰 버린다는 겁니다. 구체적으로 설명드리면 WM_MOUSEMOVE 메시지를 트랙바에서
:
: 잡지 못하는 거죠.. 다시 안으로 들어와야 메시지 핸들러가 먹습니다.
:
: 빌더의 트랙바나 슬라이드 바 컴포넌트들은 드래깅 영역에 제한이 없던데 도대체
:
: 컨트롤 외부에서 발생하는 메시지를 어떻게 가져오는지 모르겠습니다.
:
: 음.. 넘어야 할 산이 많군요...
:
:
:
|