Ver Mensaje Individual
  #8  
Antiguo 22-08-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 22
cHackAll Va por buen camino
Código Delphi [-]
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus;
 
type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    mnuConf: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure mnuConfClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
   procedure MostrarMenu(var Msg: TMessage); message WM_USER + 1;
   procedure FormMinimize(Sender: TObject);
   procedure FormRestore(Sender: TObject);
  public
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
uses ShellAPI;
 
var
 IconData: TNotifyIconData = (cbSize: SizeOf(IconData); uID: 100;
                              uFlags: NIF_MESSAGE + NIF_ICON + NIF_TIP;
                              uCallbackMessage: WM_USER + 1);
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 with IconData do
  begin
   Wnd := Handle;
   hIcon := Application.Icon.Handle;
   StrPCopy(szTip, Application.Title);
  end;
 Application.OnMinimize := FormMinimize;
 Application.OnRestore := FormRestore;
 WindowState := wsMinimized;
end;
 
procedure TForm1.FormMinimize(Sender: TObject);
begin
 Shell_NotifyIcon(NIM_ADD, @IconData);
 ShowWindow(Application.Handle, SW_HIDE);
end;
 
procedure TForm1.FormRestore(Sender: TObject);
begin
 Shell_NotifyIcon(NIM_DELETE, @IconData);
end;
 
procedure TForm1.MostrarMenu(var Msg: TMessage);
begin
 if Msg.lParam = WM_RBUTTONDOWN then
  with Mouse.CursorPos do
   PopupMenu1.Popup(X, Y);
end;
 
procedure TForm1.mnuConfClick(Sender: TObject);
begin
 Application.Restore;
end;
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// Action := caNone;
// Application.Minimize;
end;
 
end.
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita