저는 TTrayicon을 Delphi XE2에서 사용하고 있습니다. 마우스 오른쪽 버튼 클릭 이벤트를 제어 할 수있는 방법이 있는지 궁금합니다. 클릭 이벤트를 시도했지만 할 수 없습니다.TrayIcon 마우스 오른쪽 버튼 클릭 이벤트
답변
당신은 onMouseUp에에 이벤트 핸들러를 할당 할 수 있습니다. 단추 매개 변수를 사용하여 눌려진 단추를 찾으십시오.
OnMouseDown과 OnMouseUp 모두 사용할 수 있지만 올바른 것입니다. OnMouseUp을 사용하면 트레이 아이콘이 표준 윈도우 트레이 아이콘 (볼륨, 네트워크 등)처럼 정확하게 작동합니다. 나는 곧바로 대답을 편집 할 것이다. –
이 질문에 대한 올바른 답변입니다. 그러나 팝업 메뉴를 표시하려면 Polymorphin이 정확해야합니다. 마우스 오른쪽 버튼 클릭에 대한 응답으로 팝업 메뉴를 표시하는 것 이외의 다른 작업을하고 있다면 아마도 뭔가 잘못하고있을 것입니다. 사용자가 키보드를 사용하여 마우스 오른쪽 버튼을 클릭하려고해도 'OnMouseUp' 이벤트가 발생합니다. 'TTrayIcon'가있는 쉘 API의 원래 설계에서 한계점에 이릅니다. –
테스트를 마쳤으며 완벽했습니다. 감사 – elcharlie
'TTrayIcon'의 코드는 나를 슬프게합니다. 'GetCursorPos'에 대한 모든 바보 같은 호출. VCL의 많은 부분이 입력 메시지를 이해하지 못하는 사람들이 작성한 것처럼 보입니다. –