2010-08-03 3 views
1

ButtonBase와 대조되는 Control에서 상속받은 단추의 기본 클래스를 만듭니다.
나는 중요한 것을 간과하지 않도록 ButtonBase를보기 위해 리플렉터를 사용하고 있으며 WndProc 메서드의 내용에 당혹 스럽다.
버튼 업, 클릭 및 캡처 변경 등의 체크가 있습니다. 클래스의 관련 'On'메소드 내에서 모두 처리된다는 것을 알 수 있습니다.ButtonBase WndProc 메서드의 모든 이벤트 검사 이유 .Net WinForms

누군가가 왜 거기에 있는지 아는 사람이 있습니까?

답변

1

네이티브 Windows 버튼 컨트롤의 래퍼입니다. 간단히 말해서 :

  • 0x00f5 = BM_CLICK :의 OnClick를 실행()
  • 0x2111 = BN_CLICKED 통지 :의 OnClick를 실행()
  • 하는 OwnerDraw 처리하는 해결 방법 중 무리.

네이티브 버튼을 감싸지 않고 소유자를 그릴 필요가 없기 때문에 걱정할 필요가 없습니다. Enter 및 Escape를 누른 상태에서 양식의 Accept/CancelButton으로 선택하면 버튼이 제대로 작동하도록 IButtonControl을 구현해야합니다. 엄격히 필요한 것은 아니지만 Control 대신 ButtonBase에서 상속하면 자동으로 수행됩니다.

+0

감사합니다. – Jules

관련 문제