Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2013
rlavisse rlavisse is offline
Registrado
 
Registrado: may 2008
Posts: 8
Poder: 0
rlavisse Va por buen camino
Cool No invocar evento de boton

Hola ! Quisiera hacerles la siguiente consulta:
Resulta que tengo una grilla, donde tengo implementado un metodo en el keypress para que al presionar una tecla (digamos la tecla "A") me busque en la columna que estoy, la celda que comience con "A". El problema que tengo es que tengo un boton Aceptar, el cual tiene un acceso directo (El caption es "&Aceptar")
Al presionar la A en la grilla, en lugar de buscarme la letra A, me invoca al boton.
Como puedo hacer para que no se invoque en ese momento al evento del boton?
Gracias !

Nota: En el evento KeyPress del Formulario, puedo hacer algo como:
if grilla.focused Then
// ver de quitar todos los eventos de boton o similares
else
// agregar nuevamente los eventos de botones
Responder Con Cita
  #2  
Antiguo 17-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por rlavisse Ver Mensaje
...
El problema que tengo es que tengo un boton Aceptar, el cual tiene un acceso directo (El caption es "&Aceptar")
Al presionar la A en la grilla, en lugar de buscarme la letra A, me invoca al boton.
Como puedo hacer para que no se invoque en ese momento al evento del boton?
Gracias !
Hola rlavisse.

La solución más simple: Elimina el caracter "&" de la propiedad Caption del TButton y situalo antes de otra letra. Por ej. "A&ceptar".

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-05-2013 a las 00:10:30.
Responder Con Cita
  #3  
Antiguo 17-05-2013
rlavisse rlavisse is offline
Registrado
 
Registrado: may 2008
Posts: 8
Poder: 0
rlavisse Va por buen camino
No, eso no me sirve de nada. Puede que el usuario desee buscar por letra "C" .. o cualquier otra !!
Responder Con Cita
  #4  
Antiguo 17-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si no deseas quitar el "&", entonces proba de este modo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not (ActiveControl is TStringGrid) then  // o TDBGrid, ..., etc
  begin
    //Acciones del evento
    //...
    ShowMessage('click')
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 17-05-2013
rlavisse rlavisse is offline
Registrado
 
Registrado: may 2008
Posts: 8
Poder: 0
rlavisse Va por buen camino
Pasa que de esa manera, no buscaria en la grilla como deseo.
Me explico mejor:

Columna 1
Juan
Luis
Pepe
Roberto
Raul

Si presiono la R, mi metodo hace que la celda que dice "Roberto" tome el foco. Si luego presiono la A, deberia ir a la celda de "Raul", ya que encuentra la coincidencia.
Pero al ingresar la A, me invoca al boton "&Aceptar"
A saber: el & del boton no puedo quitarlo, ya q es una funcionalidad de la pantalla.
Responder Con Cita
  #6  
Antiguo 17-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Cita:
Pasa que de esa manera, no buscaria en la grilla como deseo.
Bueno, si tenes la búsqueda encapsulada en un procedimiento, una solución es:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not (ActiveControl is TStringGrid) then  // o TDBGrid, ..., etc
    //Acciones del evento
  else
    //llamar procedimiento de búsqueda
end;
Cita:
A saber: el & del boton no puedo quitarlo, ya q es una funcionalidad de la pantalla.
En realidad en un TButton se puede quitar sin problemas... ¿ Que componente es el botón ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-05-2013 a las 00:31:54.
Responder Con Cita
  #7  
Antiguo 17-05-2013
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
A mi me paso eso hasta hace 5 minutos que active la opcion dsediting en el dbgrid. Bueno yo uso el jvdbgrid y si necesito una columna de solo lectura uso el evento oncaneditcell.

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
Ejecutar una función php en el evento onclick de un botón David PHP 2 09-03-2010 21:45:37
como crear un boton en ejecucion y ponerle un evento jeremiselxi Varios 6 24-09-2008 20:34:40
Evento Botón derecho del Ratón chinchan C++ Builder 3 22-05-2008 18:15:13
Evento de un boton juanpe Varios 4 19-02-2007 15:54:53
ayuda con boton creado dinamicamente y sus evento cureham OOP 1 13-09-2006 09:39:14


La franja horaria es GMT +2. Ahora son las 11:47:22.


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