Ver Mensaje Individual
  #1  
Antiguo 24-08-2006
Sandy656 Sandy656 is offline
Registrado
 
Registrado: jul 2006
Posts: 4
Reputación: 0
Sandy656 Va por buen camino
Cambiar foco desde otro form

Hola:

Bueno, ante todo agradecer a todos los foreros por la ayuda desinteresada que aportan y de la que tanto nos beneficiamos muchas personas como yo.

El problema que tengo es el siguiente:
Tengo un Form principal desde el que se abre otros forms secundarios, se realizan modificaciones y vuelve al form principal. Desde estos forms secundarios hay muchos edits con un botón de búsqueda a la derecha que despliega listas (clientes,proveedores.etc.). Mi intención es que cuando el cursor se encuentre en uno de estos edits, al pulsar la tecla 'flecha arriba', simule como si se hubiera hecho clic en el botón de búsqueda y se despliegue la lista. Sin usar el ratón.

Esto se hacerlo con la función FindNextControl desde el propio Form, pero para no repetir tanto la función en cada form, me gustaría hacer una función en el Form principal que sirva para todas. Pero siempre me busca el siguiente control de el Form principal y no de la Form desde el que se hace la llamada, aunque si me detecta el form y el componente. Este es el código que tengo.



Código Delphi [-]
procedure TP_Principal.EditConLista;
  Var Forma:Tform;
  Component,Component2:TwinControl;
begin
  forma:=Screen.ActiveForm;
  Component:=Screen.ActiveControl;
  if component is TEdit then
  begin
    With Screen.Activeform do
    begin
      Component2:= FindNextControl(Screen.ActiveControl,True,True,False);
      if (component2.ClassType=TSpeedButton)
      and (Copy(Component2.Name,1,11)='BotonBuscar')Then MostrarListaAsociada;
    end;
  end;
end;




Gracias y un saludo.

Última edición por roman fecha: 24-08-2006 a las 02:23:45. Razón: Reparar la etiqueta [delphi]
Responder Con Cita