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 14-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Mandar llamar Manualmente Evento

Como mandar a llamar "Manualmente" el evento OnKeyDown, ya se que es una pregunta sencilla pero no le encuentro
Responder Con Cita
  #2  
Antiguo 14-09-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
¿De que componente se trata? ¿Lo tienes "pegado" en un formulario y el evento tiene código? de ser así, lo puedes llamar como a cualquier método

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 14-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Estoy haciendo pruebas de como detectar el TAB dependiendo de que componente tenga el control en ese momento, ahora todo bien, pero, necesito llamar un evento por ejemplo del OnKeyDown, porque aqui hago las validaciones de todos los componentes(Edit's, bdEdit's, MaskEdit's, dbGrid) que tengo en un formulario para cachar el TAB y hacer que sea un ENTER, hago esto, porque estoy llamando MANUALMENTE el OnExit en el OnKeyDown de cada componente, tengo el siguiente código que hace esto:
Código:
Private
  procedure TfFacturas.CMDialogKey(var Message: TCMDialogKey);

Implementation
procedure TfFacturas.CMDialogKey(var Message: TCMDialogKey);
begin
  // Comprobar estado
  if GetKeyState(VK_MENU) >= 0 then begin
	with Message do begin
	  // Segun la tecla
	  case CharCode of
		VK_TAB:begin
				 if ActiveControl.Name='edSerie' then begin
				   if length(edSerie.text)=2 then
					 edSerieExit(sender)
				   else edSerie.SetFocus;
				 end else
				   if ActiveControl.Name='edFolio' then begin
					 edFolioExit(sender)
				   end else
					 if ActiveControl.Name='edNumCli' then begin
					   if length(edNumCli.text)>0 then
						 edNumCliExit(sender)
					   else edNumCli.SetFocus;
					 end else
					   if ActiveControl.Name='maFecEmision' then begin
						 bdTipoPago.SetFocus;
					   end else
						 if ActiveControl.Name='maFecVenci' then begin
						   bdOrdenCompra.SetFocus;
						 end else
						   if ActiveControl.Name='bdOrdenCompra' then
							 bdIvA.SetFocus
						   else
							 if ActiveControl.Name='edVendedor' then
							   if edVendedor.text<>'' then begin
								 edVendedorExit(Sender);
								 gridFac.SetFocus;
							   end else
								 edVendedor.SetFocus;
			   end; //end..VK_TAB
	   end; // end..case
	end; // end..with
  end; // end..if
  // Método padre para que salte al siguiente control,...
  inherited;
end;
Este procedimiento que es para cachar el TAB, por lo que NO puedo llamar al EVENTO ONKEYDOWN para evitarme de Escribir las validaciones que tengo.
Que puedo hacer???? de antemano Gracias.
Responder Con Cita
  #4  
Antiguo 14-09-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Podrías hacerlo desde el formulario, utilizando la propiedad KeyPreview en true, para que el TForm reciba el evento antes que los controles, entonces podrías programar solo el evento de tu formulario.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 14-09-2004 a las 21:09:52.
Responder Con Cita
  #5  
Antiguo 14-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Ya lo tengo asi, tengo la propiedad KeyPreview=true, y lo mando a llamar desde el formulario, dentro del mismo procedimiento que le mencione arriba, pero no me funciona.

Última edición por AGAG4 fecha: 14-09-2004 a las 20:28:56. Razón: Corrección
Responder Con Cita
  #6  
Antiguo 14-09-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por AGAG4
Ya lo tengo asi, tengo la propiedad KeyPreview=true, y lo mando a llamar desde el formulario, dentro del mismo procedimiento que le mencione arriba, pero no me funciona.
¿Queres disparar o capturar el evento?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 14-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Quiero disparar el evento OnKeyDown al momento de presionar el TAB dentro del procedimiento que le mencione arriba.
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


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


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