FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Restaurar Ventana minimizada con biSystemMenu := False
Hola !
Tengo una ventana MDIChild que minimizo haciendo doble clic en el marco de la ventana. La propiedad biSystemMenu la tengo en False porque no quiero que se pueda cerrar esa ventana hasta que se introduzca por parte del usuario un valor válido en un TEdit. Así que le he quitado todos los botones de menu con biSystemMenu := False, y he puesto BorderStyle := bsSingle. Para minimizarla :
Una vez que la tengo minimizada, no logro volver a abrirla de ninguna de las maneras. Con cientos de otras ventanas MDI funciona perfectamente pero con esta, al no tener ningún botón de menú del sistema, al intentar hacer doble click en el marco de la ventana minimizada, el programe se mete en algún bucle que no logro identificar, pero se queda 'colgado'. Como puedo restaurar la ventana sin tener que mostrar los botones del sistema, ya que si fuera así, tendría que mostrar entre otros el botón de cerrar la ventana MDI, cosa que como explico arriba, quiero evitar. Gracias por vuestra ayuda ! Saludos
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
De entrada, está muy raro eso de minimizar la ventana con doble clic, siendo que esa acción por defecto maximiza la ventana en lugar de minimizarla. Tampoco entiendo porqué quieres ocultar el botón de cerrar siendo que puedes evitar que cierren la ventana con el evento CloseQuery.
Aún así, algo que puedes hacer es inhabilitar el botón Cerrar en lugar de quitar el menú de sistema. Con la función siguiente:
puedes habilitar o inhabilitar dicho botón y aún preservas los otros botones. // Saludos |
#3
|
||||
|
||||
Cita:
Otra opción para obtener el comportamiento que buscas, podría ser: También podés evaluar otras acciones: WM_SYSCOMMAND. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Pero para ese caso, está el evento CloseQuery. Por otra parte, si se hace la evaluación en WMSysCommand del formulario hijo, se podría cerrar el formulario principal saltándose la verificación.
// Saludos |
#5
|
||||
|
||||
Hola.
Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Gracias a todos por responder. Me sirven todos los comentarios.
Suelo usar en todos los forms el WMSysCommand donde tengo otras comprobaciones que realizo. La solución propuesta por Román también es válida. Lo que finalmente no logro comprender es por qué cualquier otra venta MDI que minimizo, con los botones de sistema visibles, puedo volver a restaurarla haciendo doble click en el marco de la ventana minimizada, y por qué en el caso de no estar visible esos botones, no funciona. Se me olvidó aclarar, y también vuelve a tener toda la razón Román, que la verdad es que doy una opción de minimizar con un icono dentro del propio Form, para que el usuario haga click ahí y se minimize (además de poder hacer doble click sobre el marco, aunque no sea lo habitual). Ahí es donde el usuario minimizaría. Pero una vez que esté minimizada, lo lógico (al menos en MDI) es hacer doble click sobre el marco para restaurarla. Y es ahí donde por razones que no logro entender, Delphi hace la diferenciación entre si tiene o no los botones del sistema visibles. Lo que pretendía era mostrar de entrada al usuario que ese Form no se puede cerrar si no es poniendo el dato correcto que solicito. Por eso, de entrada, quería quitar el botón de cierre. Lo que he dejado, es que de entrada el botón de cierre no se vea, y si se minimiza, muestro el botón de nuevo pero lo inhabilito como indica Román. Lo normal será que el usuario al ver esa ventana introduzca el dato que se le pide, y confirme con otro botón de confirmación dentro del Form. Gracias a todos.
__________________
Piensa siempre en positivo ! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Restaurar ventana previamente minimizada | jorosmtz | API de Windows | 9 | 20-07-2010 19:04:27 |
Ventana minimizada | rod203 | API de Windows | 1 | 17-11-2008 19:25:45 |
Canvas (ventana minimizada) | ganegri | Gráficos | 5 | 17-07-2007 22:45:40 |
Resaltar una ventana minimizada | johncook | Varios | 2 | 27-11-2004 14:10:00 |
Ventana Minimizada | diegofhernando | Varios | 4 | 16-05-2003 15:32:25 |
|