Portal Melhores Rádios Estereogramas Guia de Programação MDV Max Converter MDV Player
Adicionar Icone na Barra de Tarefas (Delphi)

Adicionar Icone na Barra de Tarefas (Delphi)

Adicionar Icone na Barra de Tarefas (Delphi)

//Na seção “uses” adicione a unit ShellAPI
uses ShellAPI;

//Apos a seção “uses” adicione a seguinte constante:
const wm_IconMessage = wm_User;

//Declare a procedure e a variavel dentro da seção “private”
private
  nid: TNotifyIconData;
  procedure IconTray(var Msg: TMessage); message wm_IconMessage;
  { Private declarations }
public
  { Public declarations }
end;

//Adicione um componente PopupMenu na tela, para abrir ao clicar no TrayIcon
//procedure declarada acima
procedure TForm1.IconTray (var Msg: TMessage);
var
  Pt: TPoint;
begin
  if Msg.lParam = wm_rbuttondown then
  begin
    //pega a posição do cursos do mouse para abrir o menu
    GetCursorPos(Pt);
    PopupMenu1.Popup(Pt.X, Pt.Y);
  end;
end;

//no onCreate do formulario
procedure TForm1.FormCreate(Sender: TObject);
begin
  //carrega o ícone do programa no TrayIcon
  Icon.Handle := LoadIcon(HInstance, 'MAINICON');
  nid.cbSize := SizeOf(nid);
  nid.wnd := Handle;
  nid.uID := 1;
  nid.uCallBAckMessage := wm_IconMessage;
  nid.hIcon := Icon.Handle;
  nid.szTip := 'MDV'; //Hint do icone
  nid.uFlags := nif_Message or nif_Icon or nif_Tip;
  Shell_NotifyIcon(NIM_ADD, @nid);
end;

//no onDestroy do formulario
procedure TForm1.FormDestroy(Sender: TObject);
begin
  nid.uFlags := 0;
  Shell_NotifyIcon(NIM_DELETE, @nid);
end;