PDA

Ver la Versión Completa : ¿Como Imitar el click de biMinimize?


LuCkY_007
02-02-2006, 13:39:48
Quiero que mi aplicacion al pulsar un boton minimice el prog al 'system tray' y me salga un icono y he leido el truco 490 de trucomania y explica como hacerlo pero solo hace pulsando el biMinimize del form que viene por defecto yo he probado a hacerlo con:

WindowState:=wsMinimized;

tambien con:

ShowWindow(Handle,SW_hide);

e incluso...

Application.Minimize

Pero con ninguno he logrado minimizar mi aplicacion al tray como lo hacen en el truco 490 solo lo puedo hacer si lo hago desde el boton que viene por defecto en el formulario.

¿Alguien sabe como puedo imitar dicho boton?

Un saludo y mil gracias!!

roman
02-02-2006, 16:30:26
No se trata de imitar dicho botón sino de entender lo que se programó en el evento OnMinimize o similar para así poder separarlo y aplicarlo de la forma que más te convenga. Dicho de otra forma, dedícale un ratito a estudiar el truco en lugar de copiar y pegar.

// Saludos

xEsk
07-02-2006, 11:16:24
Como por ejemplo:


procedure TForm1.ponerEnSystemTry;
begin
with IconData do
begin
cbSize := sizeof(IconData);
Wnd := Handle;
uID := 100;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage := WM_USER + 1;
{Usamos de icono el mismo de la aplicacion}
{We use the same icon as the application}
hIcon := Application.Icon.Handle;
{Como Hint del icono, el nombre de la aplicacion}
{The name of te app for the hint of the icon}
StrPCopy(szTip, Application.Title);
end;
{Ponemos el icono al lado del reloj}
{Place the icon next to the clock}
Shell_NotifyIcon(NIM_ADD, @IconData);
{Ocultamos la Form...}
{Hide the form...}
Hide;
end;
end;

// Ejemplo de llamada...
procedure TForm1.Button1Click(Sender: TObject);
begin
ponerEnSystemTry;
end;