Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Al Minimizar app me la deja pequeña encima de la Barra de tareas (https://www.clubdelphi.com/foros/showthread.php?t=78553)

GerTorresM 28-04-2012 13:03:06

Al Minimizar app me la deja pequeña encima de la Barra de tareas
 
1 Archivos Adjunto(s)
Hola a todos:

Mi app tienes todos los botones en la barra del menu superior Minimizar, maximar y cerrar pero al dale click en el boton de minimizar siempre la app queda en la parte superior de la barra de tareas como se puede apreciar en la grafica adjunta, ahora si utilizo la tecla rápida (ventana) + M, la aplicación se minimiza en forma correcta, utilizo el siguiente código y le agradezco cualquier comentario

Código Delphi [-]
procedure TFMenu.WMSysCommand(var Msg: TWMSysCommand);
begin
  if (Msg.CmdType = SC_Minimize) then
  begin
    Application.Minimize;
    Application.MainForm.Hide;
  end else if (Msg.CmdType = SC_RESTORE) then
    begin
      Application.MainForm.Show;
      application.BringToFront;
      Application.Restore;
    end;
  DefaultHandler(Msg);
end;

Cordialmente



gertorresm
Colombia

GerTorresM 28-04-2012 13:42:35

Simular la Tecla Win + M
 
Esta solución la tome de este link http://www.clubdelphi.com/trucos/imprimir.php?id=69 y quedo solucionado mi problema asi

Código Delphi [-]

procedure TFMenu.WMSysCommand(var Msg: TWMSysCommand);
begin
  if (Msg.CmdType = SC_Minimize) then
    MinimizarTodo
  else if (Msg.CmdType = SC_RESTORE) then
    ResturarTodo;
  DefaultHandler(Msg);
end;


procedure TFMenu.MinimizarTodo;
begin
  keybd_event(VK_LWIN,MapvirtualKey( VK_LWIN,0),0,0) ;
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),0,0);
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_LWIN,MapvirtualKey(VK_LWIN,0),KEYEVENTF_KEYUP,0);
end;

procedure TFMenu.ResturarTodo;
begin
  keybd_event(VK_LWIN, MapvirtualKey( VK_LWIN, 0), 0, 0);
  keybd_event(VK_SHIFT, MapvirtualKey( VK_SHIFT, 0), 0, 0);
  keybd_event(Ord('M'), MapvirtualKey( Ord('M'), 0), 0, 0);
  keybd_event(Ord('M'),MapvirtualKey(Ord('M'),0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_SHIFT,MapvirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0);
  keybd_event(VK_LWIN,MapvirtualKey(VK_LWIN,0),KEYEVENTF_KEYUP,0);
end;

Casimiro Notevi 28-04-2012 16:13:45

Gracias por comentarlo :)


La franja horaria es GMT +2. Ahora son las 17:45:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi