Q&A

  • 트레이아이콘사용시 팝업..

트레이아이콘에서 팝업을 띄웠을때 다른 영역을 클릭하면 팝업이 안없어져요..
다른 질문/답변을 보고 '  setForegroundWindow( Application.handle);' 구문을 추가했지만
잘돼던 마우스클릭시 팝업도 안나오네요..
왜 그렇죠?

procedure TfrmErss_Dev.WndProc( var Message : TMessage );
var
  p : TPoint;
begin
   case Message.Msg of
      //아이콘에 클릭시
      MY_SHOWFORM_ID:
         case Message.lParam of
              WM_LBUTTONDOWN: begin
                                 Form_HIDE := False;
                                 ShowWindow(Handle, SW_SHOWNORMAL);
                                 //Self.Show;
                              end;
              WM_RBUTTONDOWN: begin
                                 GetCursorPos(p);
                                 setForegroundWindow( Application.handle);
                                 PopupMenu1.Popup(p.x, p.y);
                                 setForegroundWindow( Application.handle);
                                 // 마우스의 위치를 알아내서 그위치에 팝업메뉴를 띄운다
                              end;
         end;
      //폼이 최소될때는
      WM_SysCommand:
         begin
             if TWMSysCommand(Message).CmdType and $FFF0 = SC_MINIMIZE then begin
                TWMSysCommand(Message).CmdType := 0;
                ShowWindow(Handle, SW_HIDE);
                Form_HIDE := True;
             end;
         end;
   end;
   inherited;
end;
0  COMMENTS