Ver Mensaje Individual
  #9  
Antiguo 09-02-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Reputación: 19
ElDioni Va por buen camino
Te tengo que pedir perdón Caral porque te voy dando la información a cuentagotas, sí, utilizo el ratón para moverme por el panel y sus componentes, pero también el teclado, además el panel que estoy utilizando lo pongo en Align:=AlClient por lo que los demás se quedan detrás, entonces voy añadiendo los nombres de los paneles que tengo abiertos en un statusbar, al pulsar sobre el nombre del panel que quieres ver te lo trae al frente. tu solución valdría si los paneles tuvieran una posición fija cada uno, sabiendo la posición del panel y la del mouse.

Una solución que me sirvió una vez para una aplicación que quería que se cerrase si no se estaba utilizando fué la siguiente:

Código Delphi [-]
procedure TFrmMenuCompras.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
//RATON
if (Msg.message = WM_MOUSEMOVE) then
  begin
    timer1.Enabled:=false;
    timer1.Enabled:=true;
  end
// TECLAS
else
  begin
    // Pulsada tecla...
    if  (Msg.message = WM_KEYDOWN)     or (Msg.message = WM_KEYUP)       or
        (Msg.message = WM_SYSKEYDOWN)  or (Msg.message = WM_SYSKEYUP)    or
        (Msg.message = WM_ACTIVATE)    or (Msg.message = WM_NCACTIVATE)  or
        (Msg.message = WM_ACTIVATEAPP) or
        (Msg.message = WM_LBUTTONDOWN) or
        (Msg.message = WM_RBUTTONDOWN) or (Msg.message = WM_MBUTTONDOWN) then
      begin
        timer1.Enabled:=false;
        timer1.Enabled:=true;
      end;
  end;
end;

Pero esto era para cerrar la aplicación entera no una cierta parte de la aplicación.

Espero que así se entienda mejor.

Última edición por ElDioni fecha: 09-02-2012 a las 18:28:50.
Responder Con Cita