|
예를 들어 3개의 버튼(A, B, C)이 있습니다.
그리고 서브클래싱을 이용하여 마우스무브 메시지가 발생할 경우 특정 작업 a()를 버튼 A에 대해서만 수행합니다.
즉 버튼 A위에서 사용자가 마우스를 움직일 경우 a() 작업을 수행하고 B, C 버튼의 경우에는 a() 작업을 수행하지 않도록 할려고 합니다.
그런데 서브클래싱할땐 TMessage *msg만 넘어갈뿐, TObject *Sender 전달인자가 넘어가지 않기 때문에... 발생하는 마우스무브 메시지가 어떤 버튼에서 일어나는지 알수가 없더군요...
지금은 임시방편으로 마우스가 버튼 위로 올라갔을 경우, 불변수를 만들어놓아 현재 어떤 버튼위에 마우스가 올라갔는지를 알아내고, 그 불 변수를 이용하여 서브클래싱 함수에서 메시지를 걸러 a() 함수를 수행하고 있습니다.
이렇게 하는 방법말고.. 더 좋은 방법이 있지 않을까요??
현재 마우스무브 메시지가 어떤 버튼 컨트롤에서 일어나고 있는지를 알기위해선 어떻게 해야 할까요?
답변 부탁드립니다.
|