Windows 메세지 중에 CM_MOUSEENTER, CM_MOUSELEAVE 를 쓰면 어떨까요?
어렴풋한 기억에 이 메세지가 Parent 로 부터 전해 내려왔던 것 같아서요. (잘못 된 기억일 수도 있습니다.)
ㅇㅇ 님이 쓰신 글 :
: panel에서 마우스가 나가면 패널의 height가 1/3으로 줄어들고 마우스가 들어오면 패널의 높이가 원래대로 돌아오는 기능을 구현하려 합니다. 패널 컴포넌트는 TMS 컴포넌트 중 하나인 TAdvSmoothPanel을 사용하고 있습니다.
: 처음엔 mouseenter와 mouseleave 이벤트를 사용하여 이 기능을 구현하려 하였습니다.
: 하지만 패널에 들어왔을 때만 이벤트가 적용되고 패널의 자식 컴포넌트에 마우스가 들어왔을 때는 동작을 안하더군요.
: 패널의 자식 컴포넌트에도 이벤트를 적용시키려면 어떤 이벤트를 사용해야 하나요?
:
: 다음은 TAdvSmoothPanel의 마우스 관련 이벤트입니다.
: -OnMouseActivate
: -OnMouseDown
: -OnMouseEnter
: -OnMouseLeave
: -OnMouseMove
: -OnMouseUp
:
: mouseover 이벤트는 이 패널에는 존재하지 않네요.
|