FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
evento keypress
hola amigos, como podria hacer que al pulsar el intro dentro de un edit1 se me
activara el codigo asociado a un boton: procedure TfrmBProductos.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key=#13) then begin .... /* Aqui es donde meteria el codigo*/ /* he probado con TfrmBProducto.BitBtn1Click; pero me dice uqe me faltan parametros*/ end; end; Gracias de antemano. |
#2
|
|||
|
|||
Sospecho que te falta el parámetro Sender. Podría funcionar con algo como BitBtn1Click(BitBtn1) pero no puedo asegurarte nada, aquie no tengo Delphi
__________________
Suerte .: Gydba :. |
#3
|
|||
|
|||
Como dice Gydba, te falta el parámetro Sender
TfrmBProducto.BitBtn1Click(Sender); No obstante, soy de la opinión que no debe de hacerse este tipo de programación. Si necesitas reutilizar código que haces en un botón, pon ese código en un procedure o function y llamalo/a desde el botón y desde donde quieras |
#4
|
||||
|
||||
Además, cuando el compilador te dice que faltan parámetros puedes irte a la definición del procedimiento para ver qué parámetros requiere y buscar en la ayuda de Delphi acerca de su uso.
// Saludos |
#5
|
|||
|
|||
a mi me funciona
nombreboton.click.
tan simple como esto.
__________________
frenadol |
#6
|
|||
|
|||
problema
Tengo este codigo:
procedure TfrmAlbaranes.txtDescuentoKeyPress(Sender: TObject; var Key: Char); begin if (key=#13) then frmAlbaranes.SpeedButton1.Click; end; Y en el evento Onclik del txtDescuento este procedimiento. pero no me funciona por que sera? |
#7
|
|||
|
|||
voy mas alla
si le añado esta linea al codigo del post anterior:
procedure TfrmAlbaranes.txtDescuentoKeyPress(Sender: TObject; var Key: Char); begin MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0); if (key=#13) then begin frmAlbaranes.SpeedButton1.Click; codigo.MostrarError('He mostrado una itro'); end end; Me captura todas las pulsaciones menos la del INTRO. A que sera debido eso? |
#8
|
||||
|
||||
Hola!
Es sólo una sugerencia, porque no pones el código en el Evento FormKeyPress del formulario: Código:
if Key = #13 then if txtDescuento.Focused then frmAlbaranes.SpeedButton1.Click;; De todas maneras yo lo realizo de la manera que te comentaba arriba y me funciona perfectamente. Espero que te sirva. Saludos! |
#9
|
|||
|
|||
sigue sin funcionarme
Hola Nuria he hecho lo que tu me has dicho:
procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then if txtDescuento.Focused then frmAlbaranes.SpeedButton1.Click; end; Tengo en el evento OnKeyprees del formulario y del txtDescuento y no me funciona me captura todas las teclas menos la del intro y no se por que puede ser! Ademas lo habia puesto en el keyprees del txtDescuento por costumbre ya que yo vengo del VB. SALUDOS!! |
#10
|
|||
|
|||
pongo esto y ahora no me captura el evento
procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then if txtDescuento.Focused then begin MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0); frmAlbaranes.SpeedButton1.Click; end; end; Ademas me he asegurado que la propiedad KeyPreview del formulario esta a true. |
#11
|
|||
|
|||
es el intro !!
Sin embargo si pongo esto:
procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char); begin MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0); if Key = #13 then if txtDescuento.Focused then frmAlbaranes.SpeedButton1.Click end; Me captura todos las teclas MENOS EL INTRO |
#12
|
|||
|
|||
Si lo que quieres es asociar el Enter al evento de un botón te recomiendo usar un botón normal y en la propiedad que tiene llamada Default le pongas true, eso hara que el botón te responda al enter.
Espero te sirva |
|
|
|