Ver Mensaje Individual
  #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
Reputación: 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