델파이에서 트레이 아이콘으로 많이 사용되는 컴퍼넌트가
CoolTray Component.
이게.... 마우스 윈도우 시스템 Tray로 들어갔을때, 마우스 오른쪽 버튼 클릭하면,
팝업 메뉴가 나오게 연결을 했는데...
짜증나게.... 클릭 속도가 느리면, 윈도우 트레이 메뉴랑 겹쳐지는것이다.
죠낸 거슬리기도 하고.... 내가 만든 메뉴가 클릭이 안되니까....
다른 프로그램들은 천천히 클릭해도 잘 되는데....................?
음... CoolTray는 Mouse Down Event에서 Popup메뉴를 보여주고 있고...
기타 다른 상업용 프로그램에서는 Mouse Up Event에서 PopUp메뉴를 보여주고 있었다.
결국은.... 그부분을 고치면 되는거?
수정후.. 테스트결과........ 캬캬.... 잘된다~ +_+
CoolTrayIcon.Pas에서 아래의 부분을 찾아 변경해준다.
WM_RBUTTONDOWN:
if FEnabled then
begin
Shift := ShiftState + [ssRight];
GetCursorPos(Pt);
MouseDown(mbRight, Shift, Pt.x, Pt.y);
// PopupAtCursor; <- 요거 주석처리
end;
WM_RBUTTONUP:
// if FBehavior = bhWin95 then
if FEnabled then
begin
Shift := ShiftState + [ssRight];
GetCursorPos(Pt);
MouseUp(mbRight, Shift, Pt.x, Pt.y);
PopupAtCursor(); <- 요거 추가
end;