| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | | 
25-11-2005, 14:02:26
| | Gran Participación en el Foro | | Registrado: ago 2004 Ubicación: Buenos Aires - Argentina Posts: 346
| | Impedir Restaurar Formulario Hola!
Como puedo hacer para q en un formulario CHILD q esta maximizado y ya tiene inhabilitada la x q lo cierra,inhabilitar el boton de restaurar ¿?
Gracias
Diego Ares :smt004 | 
25-11-2005, 15:00:56
|  | Gran Participación en el Foro | | Registrado: nov 2004 Posts: 148
| | Hola.
Para deshabilitarlas tenés la propiedad del formulario MaxButton. La seteas en False en el formulario MDIChild y listo. El botón de maximizar y restaurar queda deshabilitado.
Saludos. | 
25-11-2005, 15:48:45
| | Gran Participación en el Foro | | Registrado: ago 2004 Ubicación: Buenos Aires - Argentina Posts: 346
| | Me olvide de aclarar q ya probe poner en false la propiedad maxbutton pero no funciona porque por codigo tengo definido el formulario como maximizado... | 
25-11-2005, 15:59:51
| | Gran Participación en el Foro | | Registrado: ago 2004 Ubicación: Buenos Aires - Argentina Posts: 346
| | Lo vuelvo a replantear no se si se entiende...
Tengo un formulario:
1 CHILD (depende de un MDI de Inicio)
2 Esta Maaximizado (por codigo Formulario.WindowsState=vbMaximized)
3 Q tiene inhabilitada la X q lo cierra el formulario con un
Call DesactivarMenu(Formulario)
'Sacar la X q cierra el Formulario
Public Sub DesactivarMenu(Formulario As Form)
Dim hSysmenu As Long
hSysmenu = GetSystemMenu(Formulario.hwnd, 0)
RemoveMenu hSysmenu, 6, MF_BYPOSITION
RemoveMenu hSysmenu, 5, MF_BYPOSITION
RemoveMenu hSysmenu, 4, MF_BYPOSITION
RemoveMenu hSysmenu, 2, MF_BYPOSITION
RemoveMenu hSysmenu, 1, MF_BYPOSITION
End Sub
4 Intente poner en false la propiedad MaXButton por Codigo y desde la ventana de propiedades del Formulario CHILD y no funciona
5 Lo q quiero hacer es impedir q me lo Restauren (q es el boton q reemplaza al de maximizar cuando ya esta maximizado el formulario)
6 Es decir quiero q el formulario quede como esta...maximizado y solo con la posibilidad de minimizarlo, pero nunca cambiar el tamaño, o sea q solo se pueda minimizar y volver a maximizar, sin posibilidad de restaurar, ya q al apretar este boton queda mal ubicado el formulario
Se entiende?
Diego Ares :smt004 | 
25-11-2005, 16:19:52
|  | Gran Participación en el Foro | | Registrado: nov 2004 Posts: 148
| | Bien. Dejame ponerme en tu lugar y en un rato te cuento que podés hacer.
Saludos | 
25-11-2005, 16:27:56
| | Buena Participación en el Foro | | Registrado: jul 2005 Ubicación: San Luis Posts: 98
| | hola en vez de abrir el formulario como maximizado lo abris como normal y en el load le das las dimenciones que voz queres que tenga (como si estubiera maximizado ) y luego pones en false la propiedad maxbutton
fijate si te sirve suerte
__________________
JHB
| 
25-11-2005, 23:19:15
| | Gran Participación en el Foro | | Registrado: ago 2004 Ubicación: Buenos Aires - Argentina Posts: 346
| | esto ultimo q vos decis, dimensionarlo por codigo no funciona porque al estar maximizado y al ser un CHILD, es como si no tuviera borde y aun asi aparecen la X, el max y el min button igualmente en el costado del menu...se entiende lo q digo?
repito, es un CHILD, tiene q estar maximizado, se puede minimizar y volver a maximizar, pero no cambiar el tamaño...es decir donde estaba el boton de maximizar ahora hay uno de restaurar q al apretarlo hace q cambie el tamaño y se vea el borde, eso no quiero q sucesa...
por lo q descubri el problema principal pasa porque al estar maximizado de entrada, no me deja sacarle el boton de maximizar...
si no estuviera maximizado el codigo funciona, pero no se ve como yo quiero...tendria q de alguna manera maximizarlo por codigo...o algo por el estilo o lograr q esta parte de mi rutina funcione aun si el formulario estuviera maximizado...
im lRet As Long
'Para q no se vean los botones
lRet = GetWindowLong(Formulario.hwnd, GWL_STYLE)
lRet = lRet And Not (WS_MAXIMIZEBOX)
lRet = SetWindowLong(Formulario.hwnd, GWL_STYLE, lRet)
gracias
diego ares :smt004 | 
26-11-2005, 01:04:00
|  | Gran Participación en el Foro | | Registrado: nov 2004 Posts: 148
| | Mirá, la cuestión es que un form sin botones de control no puede (no me pregunten por qué) ser child.. Si seteás ClipControls a False, efectivamente se va, pero no se puede cargar dentro del MDI. Lo mismo pasa si le sacamos los bordes :S
Diferente es si lo dejamos sizable y ponemos ClipControls y ControlBox en false, con MaxButton=True, pero es bastante incómodo ya que se va el de minimizar también. Esto hice: (adjunto)
Creo que inevitablemente tendremos que rrecurrir a algunas apis complejas, que no se encuentran en google :S
Cualquier cosa te aviso.. | 
26-11-2005, 02:08:24
| | Gran Participación en el Foro | | Registrado: ago 2004 Ubicación: Buenos Aires - Argentina Posts: 346
| | ya probe lo q me pasaste y no me convence para nada...
es verdad tambien q si pones control box a false se van todos los botones, por lo cual no es la solucion...
debe haber alguna manera q aun estando maximizado se pueda por codigo anular la funcion del restaurar de maximizar...
alguno aqui en el foro debe saberlo!!! esto es un desafio, a ver quien lo saca!!! | 
26-11-2005, 14:30:40
|  | Gran Participación en el Foro | | Registrado: nov 2004 Posts: 148
| | No.. A mi tampoco.. Para nada :S
Pero es la única forma (creo) de sacar el botón de maximizar en un child, al menos en winxp. El problema es quie se van también los otros botones :S
Tal vez podría plantearse por este lado, en base al ejemplo: Cómo agregar un botón minimizar en un form por medio de apis?
Saludos. | | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 14:12:42.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |