TrayIcon - Minimiza apenas 1 uma vez

23/01/2006

Pessoal, novamente estou na área.... o q acontece é eu monte um trayicon e quando eu minimizo pela primeira vez, sem problemas, quando eu restauro e tento minimizar novamente o botão fica sem a ação.... urgh!!!!!

Abaixo o código

const
  WM_ICONTRAY=WM_USER +1;
//
  private
    { Private declarations }
    TrayIconData: TNotifyIconData;
  public
    { Public declarations }
    Procedure TrayMouseClick(var Msg: tMessage); message WM_ICONTRAY;
//
procedure TFrmPrincipal.FormCreate(Sender: TObject);
begin
  with TrayIconData Do
    begin
      application.Icon.LoadFromFile(´Desktop.ico´);
      cbSize := Sizeof(TrayIconData);
      Wnd:= Handle;
      uID:= 0;
      uFlags:= NIF_MESSAGE + NIF_ICON + NIF_TIP;
      uCallBackMEssage:= WM_IContray;
      hIcon:= Application.Icon.Handle;
      StrpCopy(szTip, FrmPrincipal.Caption);
    end;
  Shell_NotifyIcon(NIM_ADD, @TrayIconData);
end;
//
procedure TFrmPrincipal.FormDestroy(Sender: TObject);
begin
  Shell_NotifyIcon (NIM_DELETE, @TrayIconData);
end;
//
procedure TFrmPrincipal.TrayMouseClick(var Msg: tMessage);
var
  Pt: TPoint;
begin
  case Msg.LParam of
    WM_LBUTTONDBLCLK:
      Begin
        application.NormalizeTopMosts;
        FrmPrincipal.Show ;
      end;

    WM_RBUTTONDOWN:
      begin

       GetCursorPos (Pt);
      // SetForegroundWindow (Handle);
       PopupMenu1.Popup (Pt.x, Pt.y);
      end;
  end;
end;
//
procedure TFrmPrincipal.ApplicationEvents1Minimize(Sender: TObject);
begin
  FrmPrincipal.hide;
end;

naum sei mais o q posso fazer para isso não acontecer....

abraço 


Wagner



Wagnermarrane

Respostas

23/01/2006

Truck1n

No delphi 2006 tme um componente que faz apenas isso.. e exibi o hint ainda...

oijAEuIAEhIEA

trayIcon, nome dele...

abraços, só nisso posso ajudar!


Responder Citar

24/01/2006

Massuda

Acho que isso deve funcionar.... ao invés de...
... application.NormalizeTopMosts; FrmPrincipal.Show ; ...
...experimente fazer...
...
FrmPrincipal.Show;
application.Restore;
...



Responder Citar

24/01/2006

Wagnermarrane

Acho que isso deve funcionar.... ao invés de...[quote:8d6a9b9cc9=´wagnermarrane´]... application.NormalizeTopMosts; FrmPrincipal.Show ; ...
...experimente fazer...
...
FrmPrincipal.Show;
application.Restore;
...
[/quote:8d6a9b9cc9]


MARAVILHA MASSUDA.... !!!! CARA ACHO Q VC VIROU MEU ANJO DA GUARDA...

ABRAÇO....


Responder Citar