|
TrackBar에 Focus가 있으면서 TrackBar에는 MouseWheel을 죽이고
TForm에서 MouseWheel 메세지를 받고자 한다면
TrackBar에서 발생한 MouseWheel메세지를 TForm에 SendMessage해주면 됩니다.
SendMessage할때 Handle이
Form1->Handle이면 Form1이 MouseWheel메세지를 받고
Button1->Handle이면 Button1이 MouseWheel메세지를 받습니다.
//---------------------------------------------------------------------------
void __fastcall TForm1::TracMessageProc(TMessage &msg)
{
if(msg.Msg==WM_MOUSEWHEEL)
{
SendMessage(Handle,msg.Msg,msg.WParam,msg.LParam); //마우시 휠 메세지를
//Form1의 Handle에 Send 해준다.
return; //MouseWheel 이벤트는 모두 return 해버리고
}
OriginalProc(msg); //그밖에 메세지는 원래 tracbar의 WndProc함수를 돌려서 동작하도록 합니다.
}
왕초보 님이 쓰신 글 :
: 안녕하세요
:
: 장성호님 답변 감사합니다.
:
: 알려주신대로 사용을 해 봤는데, ...
:
: 컨트롤이 활성화 되어 있을때 휠메세지는 들어오지 않습니다.
: 그런데 메인 Form에 까지 휠 메세지까지 죽어 버리는군요 ㅠㅠ;;
:
: 컨트롤만 휠메세지를 죽이고 메인 폼에는 휠메세지가 오게 하나는 방법이 있으면 좀 알려주세요
:
: 그리고, 답변중에 Mouse의 Focus를 이동해 주면 괜찮다고 하셨는데,
: 아무리 머리를 굴려봐도 마우스포커스를 옮기는 방법을 모르겠습니다.
:
: 이것도 바쁘시들아도 좀 알려주세요
:
: 답변 부탁들이겠습니다. (__ )
|