트레이아이콘에서 팝업을 띄웠을때 다른 영역을 클릭하면 팝업이 안없어져요..
다른 질문/답변을 보고 ' 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;