|
안녕하세요. 이곳에서 많은 도움을 받고 있는 사람입니다. 올초만해도 왕초보였는데,
여러 님들의 도움으로 이젠 초보의 길로 들어선것 같습니다. 빌더에 빠져들 수록
그 막강함에 놀라면서도 제자신의 부족함을 더욱 더 느끼게 되는것 같습니다.
이번에도 혼자 해결하기에는 너무 벅이차서 이렇게 질문을 올림니다.
제가 지금 짜는 프로그램은 폼에 PaintBox 몇개를 배치한다음 각 PaintBox에
웨이브 파일의 시간파형, 주파수 파형, 위상 파형을 전시하는 프로그램인데,
마우스가 각 전시창에 위치할 경우 그창에서의 마우스의 위치에 해당하는
지점의 정보를 표시해주고자 합니다.
(예: 마우스가 주파수 전시창(PaintBox)의 2kHz에 상응하는 곳에 위치하고 그곳에서의
주파수 값이 8dB일 경우 (2kHz, 8dB)로 표시))
그런데 문제는 마우스가 어느한 창에서 움직일때는 잘 작동하는데, 어느창에서 빠져나간다든가
하니면 어느창에 마우스가 진입할때를 인식하지 못해 몇가지 문제가 발생하고 있습니다.
PaintBox에는 OnMouseMove 이벤트는 있으나, CM_MOUSEENTER, CM_MOUSELEAVE 에
해당하는 이벤트가 없어서 해결이 쉽지 않습니다.
그래서 TPaintBox 를 상속받아 CM_MOUSEENTER 메시지를 받을 수 있는 컴포넌트를
생성하려고 하는데, 처음해보는 거라 계속 실패만 하고 있습니다.
벌써 일주일째 매달리고 있는데도 잘 안되네요.....
고수님들의 많은 도움 부탁드리겠습니다. 도움이 될만한 소스를 첨부해주시면
더욱 감사하겠습니다.. 그럼 좋은 하루 되세요...
참, 그리고 "TPaintBox 는 윈도우 컨트롤을 상속한게 아니기 때문에 윈도우 핸들이 없고
따라서 윈칙적으론 윈도우 메시지를 받을 수 없다, 그래서 폼이 메시지를 대신.....이러이러하게 한다"는 임프님의 글을 봤는데, 이 부분도 자세한 설명 좀 부탁 드리겠습니다
(제가 초보라 이해가 좀 잘 않 돼서....)
|