Ver Mensaje Individual
  #11  
Antiguo 04-04-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.325
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por José Luis Garcí Ver Mensaje
...pero el Dede es un de compilador de delphi, mientras que el programa que me comentaban, era sobre cualquier ventana que capturarán, independientemente de que lenguaje se realizara.
Exactamente; Cada uno tiene sus ventajas e inconvenientes; Al hacerlo con una aplicación de este estilo, te sirve para cualquier lenguaje, pero por contra, al hacerlo con Dede (por ejemplo) el DFM que obtienes es exactamente el que ves en pantalla; El sistema de obtenerlo no es el mismo. Dudo que con una aplicación que recorra las ventanas (aunque obtengas muchas propiedades) llegues a obtenerlas todas; Por ejemplo no creo que puedas obtener los Anchors, los constraits de tamaño, las propiedades de Drag,... Mientras que con Dede sí las obtendrás.

Otra ventaja de Dede es que te permite saber qué eventos de han programado (aunque nunca te dará el código).


Cita:
Empezado por José Luis Garcí Ver Mensaje
Veo que obtienen la posición y el tamaño de los componentes estándar, pero no veo el form ni el caption ni tamaños, etc, no se puede obtener. si me permites intentare este fin de semana partiendo del ejemplo, recorrer el árbol e intentar crear una dfm, pero solo si es posible saber el tamaño del form, de todas maneras yo soy mucho más lento programando, intentare terminar un ejemplo y colgarlo...
Sí se pueden obtener los datos del form. Símplemente que al empezar a explrar yo lo he hecho en el ejemplo empezando directamente por los "hijos"; Es decir, por lo componentes del form:

Código Delphi [-]
    // Explorar
    EnumChildWindows(HWActive, @EnumWindowsProc, lParam(@Param));

La variable HWActive contiene el Handle de la ventana que has marcado (del form), por lo tanto si con ese Handle usas GetWindowsRect, GetClassName y el resto de funciones que hay más arriba, obtendrás los datos del form principal.

Revisa la API GetClassInfoEx; Creo que te dará más info sobre la clase. Y GetWindowLong que te dará más datos sobre la ventana.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita