Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Estilo xp con forms mdi (https://www.clubdelphi.com/foros/showthread.php?t=29014)

fabianbbg 10-01-2006 14:19:44

Estilo xp con forms mdi
 
Estimados:
Tengo una aplicación con forms mdi, en la maquina en la que desarrollo el xp lo tengo configurado con el estilo clásico, cuando la aplicación corre en los clientes xp, que tiene configurado el estilo "xp" , los forms mdi child me quedan "mas chicos".
Esto se debe a que el windows le coloca el borde con estilo xp, que es un borde mas grueso que el clasico.
Quiero que los forms mantengan el estilo clasico, porque necesito el espacio que le resta el borde xp.

¿Alguien sabe como puedo mantener el borde clasico en los forms?
¿O de última seria cambiar el estilo a clasico al iniciar la aplicación?

Cualquier sugerencia será bienvenida..
Gracias de antemano...

lucasarts_18 10-01-2006 14:57:52

Cita:

Empezado por fabianbbg
Estimados:
Tengo una aplicación con forms mdi, en la maquina en la que desarrollo el xp lo tengo configurado con el estilo clásico, cuando la aplicación corre en los clientes xp, que tiene configurado el estilo "xp" , los forms mdi child me quedan "mas chicos".

A mí me está sucediendo lo mismo, se achica el form mdi y me tapa los controles

lucasarts_18 11-01-2006 03:39:16

Hola:

Aún sigo con este problema, es decir, al momento de abrir el formulario MDIchild el tamaño no es el mismo que tengo definido en tiempo de diseño, siempre se ve mas pequeño.:(

Hasta Luego -

Zeta 11-01-2006 06:04:03

Las soluciones que yo aplico son:

Programar todo con estilo XP o
Usar un componente que utilice skins: Bussines Skin Form o Suiskin por ejemplo.
Hay varias soluciones más, pero me parece que la primera es la mejor (eso si tengo XP por supuesto, el caso es cuando programo en 98 no, ahí usaría la segunda opción)

dec 11-01-2006 07:45:41

Hola,

Yo suelo hacer más o menos lo que dice Zeta. Tengo un "tema activado" en Windows XP, que es el sistema operativo que utilizo actualmente. Así trabajo en Delphi, y las aplicaciones que hago incluyen la unidad "XpMan", que añade el "XP Manifiest", que consigue que la aplicación se mimetize con el tema de Windows XP en uso.

Ahora bien, como cuando llevas a cabo algún documento HTML, pongamos por caso, si no es muy sencillo, conviene ver "cómo queda" en distintos navegadores, cambiando el caso para Delphi, de vez en cuando quito la unidad "XpMan" de la aplicación de turno, para ver cómo se vería esta si estuviera corriendo bajo Windows 9x o Windows XP "sin temas" o con el "tema clásico". Puede parecer un rollo, pero, no es para tanto.

lucasarts_18 11-01-2006 13:43:40

Holas:

El asunto yo creo que va más allá si uso temas de XP o temas clásicos, ya que que con el tema de windows clásico el formulario mdichild sigue apareciendo de la forma que mencioné mas arriba :confused:.

Hasta Luego -

fabianbbg 11-01-2006 14:00:20

hola, gracias por las soluciones .. son ustedes muy amables...
Yo he probado si con skins... mas precisamente con el suiform..(suipack) pero lo saque porque el skin tambien "ocupa" espacio.
Es decir el sistema que desarrollo corre en clientes, algunos con XP y otros con win 98 , en 640x480.
Por lo que el espacio que me deja esa resolución, para los controles, es minimo.. y queria sabes si habia alguna solucion aparte del skin.

Considerando también, que el ejecutable queda mas grande cuando se le carga mucho la parte visual, y tambien eso tengo que tener en cuenta porque la idea es que los clientes funcionen lo mas rápido posible.

En fin.. seguiré experimentando.. muchas gracias a todos

dec 11-01-2006 14:07:09

Hola,

Cita:

Empezado por lucasarts_18
El asunto yo creo que va más allá si uso temas de XP o temas clásicos, ya que que con el tema de windows clásico el formulario mdichild sigue apareciendo de la forma que mencioné mas arriba :confused:.

Entonces me estoy perdiendo algo. ¿La aplicación no se ve bien con temas de Windows XP pero tampoco se ve bien sin temas? ¿Y cómo se ve bien entonces? :confused:

lucasarts_18 11-01-2006 14:57:23

Cita:

Empezado por dec
¿La aplicación no se ve bien con temas de Windows XP pero tampoco se ve bien sin temas? ¿Y cómo se ve bien entonces? :confused:

Dec, el problema es el siguiente:

En tiempo de diseño yo tengo mi formulario creado de tal manera que todos los controles se vean bien (lo obvio :D), esta ventana es de MDIChild, pero al momento de abrir esta ventana los controles desaparecen (se pierde un 20% de la pantalla aprox..)y debo agrandar el form con los scroll laterales que aparecen de la nada, debo agregar que la pantalla principal tiene menú y está lo bastante grande como para que la ventana hija se acomode correctamente dentro de ésta...primera vez que estoy haciendo una aplicación de este tipo(mdi) y estoy un poco desconcertado :(.

Hasta Luego -

PD: A la noche trataré de adjuntar una imagen para que tengan una idea...

lucasarts_18 12-01-2006 05:01:43

2 Archivos Adjunto(s)
Hola:

Como lo había dicho antes, aquí adjunto unas imagenes...

:)

Hasta Luego..

PD: Tuve que poner las imagenes con poca resolución ya que el espacio para adjuntar es poco..

dec 12-01-2006 05:42:43

Hola,

lucasarts_18, no basta que veas bien tus controles en tiempo de diseño (aunque esto, claro está, se aproxima muchísimo al resultado final, en tiempo de ejecución), pero, tendrás que probar tu aplicación (según que la diseñas) en tiempo de ejecución, con varios temas de Windows XP, si me apuras, incuyendo el tema "clásico".

Las imágenes que adjuntas me dejan perplejo, en el sentido de que dices que en tiempo de diseño el formulario se ve bien y sus controles no exceden el área de trabajo del mismo, no necesitas usar las "scrollbars" del formulario... entonces, si esto es así, ¿qué pasa en tiempo de ejecución? ¿Se achica el formulario?

No tengo demasiada experiencia tampoco en aplicaciones MDI (Multiple Interfaz Document), pero, los problemas que haya podido tener en algún qe otro tema para Windows XP con aplicaciones diseñadas con el tema clásico, y/o viceversa, no eran tan graves... acaso el borde del formulario, digamos que el "padding" del mismo podía quedarse algo corto, unos milímetros a lo sumo, y siempre "hacia adentro", no "hacia fuera", ni mucho menos varios centímetros como es el caso.

No sé qué te diga. ¿Probaste a agrandar el tamaño del formulario al iniciarse la aplicación? Antes habría que ver porqué se achica, pero, si "fuerzas" a que su tamaño sea de una determinada medida... pues debería funcionar,... ¿no? A ver si si hay suerte. ;)

lucasarts_18 12-01-2006 13:35:18

Cita:

Empezado por dec
Las imágenes que adjuntas me dejan perplejo, en el sentido de que dices que en tiempo de diseño el formulario se ve bien y sus controles no exceden el área de trabajo del mismo, no necesitas usar las "scrollbars" del formulario... entonces, si esto es así, ¿qué pasa en tiempo de ejecución? ¿Se achica el formulario?

El formulario se achica verticalmente y se agranda horizontalmente, como se puede apreciar en la imagen hay un groupbox que tiene varios controles en su interior, pues el formulario debería llegar "Horizontalmente" hasta el limite del groupbox, así está en tiempo de diseño.
Y también en la imagen se aprecía como aparece el scrollbar y este "se come" la parte de arriba del formulario, en fin son cosas extrañas :eek:

Cita:

Empezado por dec
si "fuerzas" a que su tamaño sea de una determinada medida... pues debería funcionar,... ¿no? A ver si si hay suerte. ;)

Intentaré forzar la medida del formulario al momento de iniciarse éste, luego os contaré que tal me fue..:)

Hasta Luego -

maeyanes 12-01-2006 15:46:46

La forma en cuestión tiene que ser redimencionable? Si no es así, pon la propiedad BorderStyle de la forma en bsSingle o bsDialog (según lo que desees) y la propiedad Position en poDefaultPosOnly o poDesigned.

Con eso se debería solucionar tu problema, yo uso ventanas MDIChild de esta forma y no tengo problemas.



Saludos...

lucasarts_18 13-01-2006 02:05:19

Hola:

DEC, es mucho más fácil de lo que creía, nuestro amigo maeyanes nos ha dado la solución, aunque debo decirle a maeyanes que solo basta poner la propiedad BorderStyle a bsnone y ya no sucede este problema, yo la tenía configurada como bssizeable...

Muchas Gracias Maeyanes :D

Nos vemos...

maeyanes 13-01-2006 15:22:24

Según la ayuda de Delphi:

Cita:

Empezado por Delphi Help
Note: Changing the border style of an MDI child form to bsDialog or bsNone has no effect.

Así que te recomendaría que mejor uses bsSingle para lo que necesitas. bsSingle lo que hace es que la forma no sea redimencionable en tiempo de ejecución.


Saludos...

lucasarts_18 13-01-2006 16:40:47

Lo tendré en cuenta ;)

Gracias...


La franja horaria es GMT +2. Ahora son las 22:55:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi