|
안녕하세요...
마우스 이벤트 중에 하나인 wm_mousewheel사용에 관한 질문입니다..
아래에 질문을 올리고 나름대로 찾아보면서 여러가지를 해보았는데요..
첫 번째 방법은
message_map을 사용해서
MESSAGE_HANDLER(WM_MOUSEWHEEL, TMessage, mousewheel);
와 같이 정의해주고 mousewheel함수에서는 showmessage로 출력만 해주는 것으로 테스트를 해보았는데요...마우스 휠 인식 자체를 못하더군요...(다른 WM_LBUTTONDOWN같은 것은 인식을 함.)
두 번째 방법은
windowproc를 이용해서
void __fastcall TForm1::FormCreate(TObject *Sender)
{
image_orig_proc = Image1->WindowProc;
Image1->WindowProc = mousewheel_proc;
}
void __fastcall TForm1::mousewheel_proc(TMessage &Message)
{
image_orig_proc(Message);
if(Message.Msg == WM_MOUSEWHEEL)
Memo1->Lines->Add("ff");
else if(Message.Msg == WM_LBUTTONDOWN)
Memo1->Lines->Add("lbutton");
else
Memo1->Lines->Add("other");
}
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Image1->WindowProc = image_orig_proc;
}
라고 해주어 이미지 위에서 마우스 휠을 돌려봤는데 계속 WM_MOUSEWHEEL에서 안 걸리고 other라고 나와 WM_MOUSEWHEEL메세지를 받아들이지를 못합니다.
WM_LBUTTONDOWN은 마찬가지로 잘 받아들이구요...
WM_MOUSEWHEEL의 사용방법을 알고 싶어요...
고수님들의 고견 좀 부탁드립니다...
|