Ver Mensaje Individual
  #1  
Antiguo 02-03-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Reputación: 20
oscarac Va por buen camino
Invocar procedimiento OnKeyDown

buenas noches
tengo un edit que valida ciertos datos cuando se presiona ENTER
entonces en el procedimiento OnkeyDown hago una serie de validaciones

Código Delphi [-]
procedure TfrmValesdeConsumo.edtTrabajadorKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
Var _Trabajador :String;
begin
  _pasar := '1';
  if (Key = 13) or (key = VK_TAB) then
    Begin
      _Trabajador := edtTrabajador.Text;
      if not VerificarTrabajador (_Trabajador) then
       begin
          frmCatalogoTrabajador := TfrmCatalogoTrabajador.Create(nil);
          frmCatalogoTrabajador.FormStyle := fsNormal;
          frmCatalogoTrabajador.Position := poMainFormCenter;
          frmCatalogoTrabajador.Visible := False;
          frmCatalogoTrabajador.t_para := True;
          frmCatalogoTrabajador.ShowModal;
          frmCatalogoTrabajador.Free;
        end;

      edtTrabajador.Text := dmComedor.vResultTrabajador;
      _TipoTrabajador := dmComedor.vResultTrabajadorTipo;
      lblTrabajador.Caption := Trim(dmComedor.vResultTrabajadorDescripcion);

      if dmComedor.g_ESTADOTrabajador = 'A' Then
      Begin
        edtTrabajador.Text := '';
        MessageDlg('Cliente Anulado', mtError, [mbAbort], 0);
      end;


      if dmComedor.g_StatusTrabajador = 'X' Then
      Begin
        edtTrabajador.Text := '';
        MessageDlg('Cliente no puede consumir', mtError, [mbAbort], 0);
      end;
      if edtTrabajador.Text = '' then
        edtTrabajador.SetFocus;

      tblTrabajador.Locate('KOD', dmComedor.vResultTrabajador, []);
      _NORetail := False;
      _SubvTotal := False;
      _SoloComedor := False;

      _SubvTotal := iif (dmComedor.vResultTrabajadorSubvencion = '1', True, False);
      if tblTrabajadorFechaCese.Value <> 0 Then
      _SoloComedor := iif (tblTrabajadorFechaCese.Value <= Trunc(dmComedor.g_FECHA), True, False);

      _NORetail := iif (tblTrabajadorFT.AsString = 'x', True, False);

      if _SoloComedor Then  // Preguntar por la fecha
      Begin
        edtTrabajador.Text := '';
        MessageDlg('No puede consumir', mtError, [mbAbort], 0);
      End;


    end;
end;


la pregunta es....
como puedo ejecutar este procedimiento sin necesidad de presionar enter

por ejemplo
cuando quiero presionar un click en un botton seria algo asi

Código Delphi [-]
btnOpcion.Click;

con el OnkeyDown como seria?

se entiende?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita