2010-08-21 2 views
1

Delphi 2007에서 ControlStyle 속성을 이해하려고 시도했지만 csClickEventscsCaptureMouse 특성을 파악하는 데 문제가 있습니다.csClickEvents 및 csCaptureMouse는 정확히 무엇입니까?

사양에 따르면 csCaptureMouse은 클릭 할 때 컨트롤 캡처 마우스 이벤트를 생성하지만 csClickEvents 컨트롤은 마우스 클릭을 수신하고 응답 할 수 있습니다. 또한 TButton이이 속성을 상속받지 않는다는 것을 명시 적으로 언급합니다 (나는 소스 코드를 확인했습니다. 실제로이 경우입니다).

정확하게 csCaptureMousecsClickEvents은 무엇을합니까? 그 차이점은 무엇입니까? 어떤 답변을 주셔서 감사합니다.

답변

4

csCaptureMouse는 예를 들어 구성 요소의 경계 밖으로 마우스가 놓여져도 구성 요소가 (구성 요소를 클릭 한 후) MouseUp 이벤트를 수신한다는 것을 의미합니다.

csClickEvents는 구성 요소가 OnClick 이벤트를 생성 함을 나타냅니다.

이 옵션은 다릅니다. 당신이이 TButton에 대한 클릭 수가 되는 메커니즘이 다르기 때문에

- 그것은 BN_CLICKED 창에서 클릭 이벤트 를 생성 대답은 -이 TButton은 csClickEvents를 포함하지 않는 이유에 대해


메시지 WML_BUTTONDOWN을 통해가 아니라 버튼을 처리하는 Windows 방식 인 입니다. TControl의 경우 기본값은 입니다. 클릭 할 때마다 번의 클릭에 대해 두 번의 클릭이 발생하거나 이 삭제되었지만 여전히 이상한 동작이 발생할 수있는 csClickEvents가 포함되어있을 수 있습니다. 나는 을 깊이 파고 들었다. 의 csClickEvents를 켜는 함정을 알기에는 충분하지만, 나는 을 평이하지 않을 것이라고 생각하지 않는다. 항해 중이다.

나는 New Zealand DUG archive

+0

감사에서이 대답을 발견했다. 하지만 csClickEvents 속성이 없다면 TButton은 작동하는 OnClick 이벤트를 가지고있는 이유는 무엇입니까? – Martijn

+0

위대한 대답은 모든 것을 명확하게합니다. 감사! – Martijn