자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi VCL Style 지정시 MouseDown문제

2019.04.16 09:23

크림슨킹 조회 수:192

.jpg본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

 

VCL Style이 없는 일반적인 상태에서는 버튼 클릭시 이벤트가 정상적으로

MouseDown > Click > MouseUp으로 빠짐없이 진행되는데

VCL Style을 반영하고 버튼을 계속 누르다 보면

더블클릭처럼 빠르게 반복적으로 누르는 경우 MouseDown이벤트가 발생이 되지 않는 버그가 있네요.

VCL Style이 반영이 되지 않은 경우에는 정상입니다.

 

이거 어떻게 해결해야 하나요 ....ㅠㅠ

 

(근데 이 거 왜 이미지가 첨부가 안되나요? 파일첨부도 안되고...)

 

 

<자문자답> --------------------------------

델파이 소스를 확인해보니...

VCL Style을 적용한 경우 Vcl.StdCtrls의 TButtonStyleHook에서 후킹 처리를 하는군요.

TButtonStyleHook.WMLButtonDblClk

TButtonStyleHook.WMLButtonDown

TButtonStyleHook.WMLButtonUp

 

TButton 자체에는 더블클릭이벤트가 없지만 버튼을 더블클릭시

WMLButtonDblClk로 후킹이 되면서 Click, Up이벤트가 제대로 처리가 되지 않는 것 같습니다...

델파이 버그네요...