TRACKMOUSEEVENT 로 하는 것이 맞습니다. 아마도, 95나 NT 4.0 에서 쓰시려면 dll 파일을 업데이트 시켜 주셔야 할 것 같습니다. (어떤 DLL 인지는 까먹어 버렸습니다. --;)
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q183107&
위의 MSDN에 설명이 나와있습니다. MOUSELEAVE 에 관한 것인데, MOUSEENTER도 조금만 변경하시면 사용하실 수 있을것 같습니다.
Jisang Yoo 님이 쓰신 글 :
: CM_MOUSELEAVE 를 사용하지 않고 MSDN을 참조해서 MOUSELEAVE를 구현하려고합니다.
: PicButton이라고 불리우는 버튼 컴포넌트를 제작하고 MOUSELEAVE를 다음과 같이 코딩했는데, 제대로 코딩한건가요?
:
: void __fastcall TPicButton::MouseMove(TShiftState Shift, int X, int Y)
: {
: TGraphicControl::MouseMove( Shift, X, Y);
: TRACKMOUSEEVENT tme{sizeof(TRACKMOUSEEVENT),TME_LEAVE,Handle,HOVER_DEFAULT};
: TrackMouseEvent(&tme);
: }
:
: void __fastcall TPicButton::WMMouseLeave(TWMMouse& Msg)
: {
: TGraphicControl::Dispatch(&Msg);
: //Do something for MOUSELEAVE message.
: }
|