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 22-11-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
Porque se perderá el Enfoque al Limpiar Edit????

Porque se perderá el Enfoque al Limpiar Edit????

Por ejemplo:
Hago la prueba con un Edit y al presionar F10 mando a llamar la siguiente instruccion para limpiar el Edit:

Código Delphi [-]
LimpiaCampo(ActiveControl)
 
{Cuerpo del Procedimiento}
procedure LimpiaCampo(Control:tWinControl);
begin
  if Control is TEdit then
    tEdit(Control).clear
  else if Control is TDBEdit then
    tdbEdit(Control).Clear
  else if Control is TMaskEdit then
    tMaskEdit(Control).Clear
end;

Al Limpiarme el Edit el enfoque se pierde y tengo que presionar 2 veces cualquier tecla para que vuelva tener el enfoque, hice la prueba sin el procedimiento solo mando llamar Edit1.clear y me sucede lo mismo.

Agradezco cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 22-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Tienes un menú en tu formulario?

De ser así no es buena idea utilizar teclas como F10 ya que la acción de ésta está "reservada" para el sistema y lo que hace es activar la barra de menús. De ahí que se pierda el foco de cualquier control.

// Saludos
Responder Con Cita
  #3  
Antiguo 22-11-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
No tengo un Menu

No tengo un Menu en el Formulario, lo que tengo es un Formulario Principal del cual se ejecuta primero, entro al Menu de este mismo y entro a otro Formulario que no tiene Menu y es en este en donde hago llamadas al F10, creo que ese es el motivo.

No habrá otra solucion para regresar el enfoque al Edit?
Responder Con Cita
  #4  
Antiguo 22-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Simplemente anula la tecla. Suponiendo que detectas el F10 desde el KeyDown del formulario:

Código Delphi [-]
procedure Form2OnKeyDown(...);
begin
  if Key = VK_F10 then
  begin
    Edit1.Clear;
    Key := 10;
  end;
end;

Pero mi recomendación es que dejes de utilizar este tipo de asignación de teclas (no es la primera vez que haces algo así ) Una de las ventajas de este tipo de sistemas es que el usuario ve un estándar en todas las aplicaciones. Hay usuarios que prefieren usar el teclado al mouse y no les gustará que las teclas no hagan lo que ellos esperan que hagan.

// Saludos
Responder Con Cita
  #5  
Antiguo 22-11-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
Gracias Roman

Asi es Roman, lo que pasa es que asi me lo estan pidiendo usar las mismas teclas que estan acostumbrados utilizar y si hay algun inconveniente se los hago ver.

Y tiene razon no es la primer vez que hago este tipo de preguntas, pero a veces desconozco porque reacciona Delphi de alguna forma.


Gracias de Antemano
Que tenga buen día.
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 17:51:00.


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