Tema: button
Ver Mensaje Individual
  #5  
Antiguo 11-06-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
Perdon Neftali... espero que ahora me puedas ayudar, y que asi se escriban los codigos. Gracias

He colocado un PopupMenu, y he seguido las instrucciones que se daban en otro hilo, de como se hacia, lo de colocar el programa al lado del relof de windows... el codigo que utiliz es el siguiente...

Código Delphi [-]
 
const
WM_ICONTRAY = WM_USER + 1;

{ Private declarations }
NotifyInfo : TNotifyIconData;
procedure Icontray(var Msg: TMessage); message WM_ICONTRAY;

Cerrar1: TMenuItem;
Abrir1: TMenuItem;

procedure TForm1.Abrir1Click(Sender: TObject);
begin
Show;
Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
end;

procedure TForm1.Cerrar1Click(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);
Application.ProcessMessages;
Application.Terminate;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caNone;
// Hide;
Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Visible:=false;
with NotifyIconData do begin
hIcon := Icon.Handle;
StrPCopy(szTip, Application.Title);
Wnd := Handle;
uCallbackMessage := WM_ICONTRAY;
uID := 1;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
cbSize := sizeof(TNotifyIconData);
end;
Shell_NotifyIcon(NIM_ADD, @NotifyIconData);
end;

procedure TForm1.Icontray(var Msg: TMessage);
var
CursorPos : TPoint;
begin
if Msg.lParam = WM_RBUTTONDOWN then begin
GetCursorPos(CursorPos);
SetForegroundWindow(Handle); // suggested by Berend Radstaat
PopupMenu1.Popup(CursorPos.x, CursorPos.y);
PostMessage(Handle, WM_NULL, 0, 0); // suggested by Berend Radstaat
end else
inherited;
end;

espero me puedan ayudar con este problemita... este codigo lo saque de otro hilo, funciona pero no me aparece con ningun icono, la verdad es que no entiendo muy bien el codigo. Que parte del codigo es la que hace referencia al icono (foto) que se coloca en la barra al lado del reloj de windows.
Responder Con Cita