Cita:
|
Empezado por seldonito
...(que hace que vayas al control anterior) desde una tecla cualquiera (por ejemplo f2).
|
Una forma sencilla es hacerlo desde los eventos del form; Coloca la propiedad Preview del Form a True y el siguiente código en el evento OnKeyUp:
Código Delphi
[-]
if (key = VK_F2) then begin
Self.Perform (WM_NEXTDLGCTL, Integer(0), 0);
end;
if (key = VK_F3) then begin
Self.Perform (WM_NEXTDLGCTL, Integer(1), 0);
end;
Cita:
|
Empezado por seldonito
...Tampoco sé si será mejor ejecutar shift+tab o hay alguna manera de saber cual es el el control anterior en el tab order y que ese contror coja el foco
...
|
Bueno ésto lo que te va a hacer es ir al control anterior segun el TabOrder definido; Si lo que estás pensando es ir al control anterior de pantalla deberás utilizar una función que te lo calcule.
Puedes obtener la lista de controles del form a través de Components y componentesCount; Deberás buscar su Left y su Top para calcular cual es el "anterior" o "posterior" al tuyo (segun posición de pantalla) y no olvidarte de comprobar los contenedores de ambos controles (ya que si no puedes tener problemas cn controles en diferentes TAB's por ejemplo)