Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-04-2022
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Wink ayuda con teclas

hola amigos , quería hacer una consulta ,como puedo hacer para que yo al presionar un button1 en delphin7 se ejecute la función F8 como si hubiera presionado en el teclado F8 ?
Responder Con Cita
  #2  
Antiguo 05-04-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Crea un componente TActionList, añade una TAction a la lista.
Configura las propiedades de la TAction, en concreto la propiedad Shortcut a F8.
Y en tu botón asigna en la propiedad Action la Action creada. Con eso debería bastar.



Asignas la TAction al botón:


En general, no sólo para casos como este, sino que a mi parecer cualquier TButton/TMenúItem/... que haya en la aplicación debe estar "controlado" por su TAction corresponsdiente.

Y el código correspondiente, se debe añadir al OnExecute de la TAction.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-04-2022
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Amigo me refiero, un ejemplo cuando das clic derecho sobre el escritorio y pones actualizar y luego presionas f5 se actualiza el escritorio , ahora quiero crear un form y agregar un button lo cual al darle clic al button , simular que presiono F5 y hacer que el escritorio se actualize . Es posible eso ?
Responder Con Cita
  #4  
Antiguo 10-04-2022
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Click derecho y actualizar es lo mismo que presionar f5

creo que estas redundando la accion, en todo caso si quieres que se actualice puedes invocar el onshow
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 12-04-2022
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Crea un componente TActionList, añade una TAction a la lista.
Configura las propiedades de la TAction, en concreto la propiedad Shortcut a F8.
Y en tu botón asigna en la propiedad Action la Action creada. Con eso debería bastar.



Asignas la TAction al botón:


En general, no sólo para casos como este, sino que a mi parecer cualquier TButton/TMenúItem/... que haya en la aplicación debe estar "controlado" por su TAction corresponsdiente.

Y el código correspondiente, se debe añadir al OnExecute de la TAction.


hice esto , pero el button se desactivo , pero lo que quiero es que cuando yo haga clic al button1 mi pc piense que el presionado F5
lo que tu pusiste hace lo contrario .
Cita:
procedure TForm1.Action1Execute(Sender: TObject);
begin
button1.Enabled := true;
end;
al presionar F5 activa el button1
Responder Con Cita
  #6  
Antiguo 12-04-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si lo que quieres es simular una pulsación de teclado, la solución la tienes aquí.
Código Delphi [-]
  SimKey(VK_F5, true);
  SimKey(VK_F5, false);
El tema es que la ventana que tenga el foco es la que recibirá el mensaje de F5 y será el mismo botón que has pulsado. No creo que eso es lo que quieras hacer.


Para actualizar todas las ventanas puedes hacer esto:
Código Delphi [-]
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);


Tendrás que especificar bien lo que pretendes hacer para que se te pueda contestar a tu pregunta.
Responder Con Cita
  #7  
Antiguo 13-04-2022
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 7
DarkSton Va por buen camino
Agrego
SimKey(VK_F5, true);
SimKey(VK_F5, false);
Dentro del button ?
Responder Con Cita
  #8  
Antiguo 13-04-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  SimKey(VK_F5, true);
  SimKey(VK_F5, false);
end;

Ya te adelanto que aunquer eso simula una pulsación hardware, la pulsación será leida por la ventana que tenga el foco del teclado y en este caso va a ser el propio botón sobre el que haces click.
O conoces la ventana (el Handle de esa ventana) a la que lo diriges y le pasas el foco antes de simular la pustación, o no te va a funcionar.

Realmente no has explicado bien tu problema y es por eso que añado aclaraciones al tema.
Quizás te interese algo que ya te apunté:
Código Delphi [-]
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);


Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con Teclas Combinadas... Novatin Lazarus, FreePascal, Kylix, etc. 2 30-07-2013 22:11:51
Ayuda Masters... [Presionado de Teclas] UltraMan Varios 2 21-05-2006 15:57:48
Mandar teclas via WM AYUDA!! marceloalegre Varios 1 30-09-2005 18:27:03
ayuda con teclas perico Varios 7 27-09-2004 19:06:46
Ayuda con Teclas en Segundo Plano Sundance Varios 12 29-08-2004 18:09:18


La franja horaria es GMT +2. Ahora son las 18:42:17.


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
Copyright 1996-2007 Club Delphi