FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Solo para expertos: FullScreen para ventanas MDI
Sé que parece un tema un tanto simple, se han visto varios posts a lo largo de este foro. Sin embargo las soluciones mostradas no son válidas para ventanas MDI. Me explico.
Entre los posts del foro encontré ésta solución: Código:
BorderStyle := bsNone; Top := 0; Left := 0; Height := Screen.Height; Width := Screen.Width; Sin invalidar la solución anterior, para ventanas SDI la mejor forma es la siguiente: FullScreen para ventanas SDI Código:
if BorderStyle <> bsNone then begin BorderStyle := bsNone; WindowState := wsMaximized; end else begin WindowState := wsNormal; BorderStyle := bsSingle; end; Luego de analizar el problema me di cuenta que el bug en cuestión aparece al modificar el valor de BorderStyle (para aquellos que no sepan cual es el bug, se lo resumo: las ventanas hijas desaparecen visualmente). Es por este motivo que recurro a ustedes, esperanzado que alguien haya pasado ya por esta situación y quiera compartir su experiencia (y si la conoce, la solución). Gracias por leer. |
#2
|
||||
|
||||
¿Qué es exactamente lo que quieres?
Un MDIChild es una ventana que está "dentro de otra"; Partiendo de esa premisa, ¿qué quieres? ¿Una ventana a pantalla completa sin bordes? En ese caso porqué no la heces normal? Que no sea MDI. Si quieres una ventana FullScreen, no tiene sentido que sea MDI. NOTA: ¿Qué pasa que los que no somos expertos no podemos contestar? Personalmente no me ha gustado el título.
__________________
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. |
#3
|
||||
|
||||
Cita:
Está claro lo que busco, un FullScreen de una ventana MDIForm. Explico de otra manera a ver si queda más claro. Un form padre con una o más ventanas hijas ya creadas (dinámicamente). Se hace un fullscreen en la ventana padre (no bordes y maximizada, encima de toda otra ventana del escritorio) y las ventanas hijas deben seguir viendose (el tamaño de las ventanas hijas no me importan actualmente, calculo que con un maximize para ellas alcanzaría). Al presionarse el mismo botón nuevamente se debería volver al estado inicial. Cita:
Cita:
No es un problema cualquiera, se trata de un bug, y alguien que no sea experto (experto viene de experimentado, que tenga experiencia en el tema) no sabrá como responder y alargará el post con preguntas y no con respuestas que es lo que en definitiva busco, de tal forma que para advertir es que está así el nombre del tema. Si alguien lo tomó como algo arrogante, mis disculpas no fue la intención. |
#4
|
||||
|
||||
Primero, pedir disculpas, porque había leído el mail rápido y no había acabado de entender algunas cosas sobre la pregunta...
Siguiendo con la pregunta: Cita:
Por lo tanto, la respuesta a tu pregunta es que no se puede hacer. Al menos, no sin modificar la unit Forms.pas. Otra opción es "emular" el efecto que deseas, realmente no cambiando el borde de la ventana, sino modificando el tamaño y posición para que lo parezca, como puede verse en el ejemplo que adjunto. Quedan "flecos", como el acceso al menú de sistema utilizando teclado que te da acceso a la opción de "mover", o que el formulario esté en una posición negativa con lo que la comprobación del estado tal vez te de un resultado erróneo, pero esas son cosas que puedes "corregir" tú. La primera seguramente con capturando WM_SYSCOMMAND y la segunda utilizando para comprobar, no sólo la posición, sino también el tamaño de la ventana. Cita:
Cita:
__________________
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. |
#5
|
||||
|
||||
Tenias razón, no era un bug.
Se trata de la implementación (algo pobre) posiblemente obligada por el api. En fin, gracias por la pronta respuesta. |
#6
|
|||
|
|||
Cita:
No se nada de Delphi pero basta con aplicar un poco de sentido común para darse cuenta que no es para nada una buena idea poner títulos así. PD: No figura esto en la guía de estilo? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No me puedo conectar a equipo remoto con MySQL (para expertos) | aupaneu | Conexión con bases de datos | 17 | 06-06-2006 08:40:10 |
Para expertos en codigo de barras | JulioGO | Varios | 1 | 29-09-2005 22:01:16 |
Nuevos Expertos para Delphi | lpmlpm | Noticias | 2 | 07-09-2005 16:00:10 |
Solo para expertos... | neon | Varios | 0 | 15-12-2004 09:59:45 |
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) | frankmch | Conexión con bases de datos | 2 | 08-09-2003 19:44:52 |
|