Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: wolf_kof en Julio 05, 2010, 01:37:25 am

Título: Quitar Maximizar de un MDIFOR
Publicado por: wolf_kof en Julio 05, 2010, 01:37:25 am
Alguien sabe como quitar el boton maximizar de un mdiform?
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: cobein en Julio 05, 2010, 01:40:58 am
Propiedad Maxbutton = False?
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: wolf_kof en Julio 05, 2010, 02:46:18 am
Bueno me voy a contestar solito (YvanB  ;D), despues de mucho buscar, miren me encontre con este codigo que manipula api para quitar los bonotes minimaz y maximizar de un MDIFORM, aparte encontre un codigo que hace que el MDIFORM se ejecute en vista Maxima osea en toda la pantalla (creo que le serviria bastante a IvanB) voy con el codigo.

Codigo Sencillo para quitar los Botones Maximizar y Minimizar

se declara en el encabezado del MDIFORM
Código: (vb) [Seleccionar]
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

y esto se coloca en la propiedad load

Código: (vb) [Seleccionar]
Dim L As Long
L = GetWindowLong(Me.hwnd, GWL_STYLE)
L = L And Not (WS_MINIMIZEBOX)
L = L And Not (WS_MAXIMIZEBOX)
L = SetWindowLong(Me.hwnd, GWL_STYLE, L)

increiblemente funciona

Este codigo es mejor por que pone a la resolución maxima del monitor que tengas el MDIForm y lo maximia a toda su expresión (Pantalla completa)

se declara
Código: (vb) [Seleccionar]
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" ( _
     ByVal hwnd As Long, _
     ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" ( _
     ByVal hwnd As Long, _
     ByVal nIndex As Long, _
     ByVal dwNewLong As Long) As Long

Private Const GWL_STYLE As Long = -16
Private Const GWL_EXSTYLE As Long = -20

Private Const WS_OVERLAPPEDWINDOW As Long = &HCF0000
Private Const WS_EX_APPWINDOW As Long = &H40000

y en la propiedad load se coloca lo siguiente:
Código: (vb) [Seleccionar]
Private Sub MDIForm_Load()
    SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) And Not WS_OVERLAPPEDWINDOW
    SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) And Not WS_EX_APPWINDOW
End Sub

Espero que a alguien le sirva
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Julio 06, 2010, 02:39:13 am
Hola Wolf, voy a probar tu código y ya te mande el link del servidor donde esta alojado el proyecto "VB6-Firebird" que estuvimos conversando.

Saludos.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: wolf_kof en Julio 06, 2010, 04:30:58 am
ok graxias YvanB prueba el codigo esta rebuenisimo a mi me sirvio genial (COOL)
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ssccaann43 en Julio 06, 2010, 10:00:41 am
Bueno me voy a contestar solito (YvanB  ;D)

Jajajajaja... Esto si me causo risa...!  ::)

Esta muy bueno el codigo Wolf, buen aporte...!
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Julio 06, 2010, 01:35:49 pm
jejeje, si ta buena. Lo bueno es que el tema ya esta superado y conversamos directamente con acceso remoto, "comparticion" de código y links de chicas calatas (no mentira) jejee.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ssccaann43 en Julio 06, 2010, 03:19:55 pm
Excelente...!
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: wolf_kof en Julio 07, 2010, 11:00:04 pm
 ;) yo me apunto para lo de las chicas cuando quieras, tengo muy buenos enlaces  8)
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 12, 2011, 01:47:27 am
Se que el tema es antiguo pero lo retomo porque en un nuevo proyecto necesito quitar el MAX del MDI, no use en su momento este codigo porque use un truco que hacia poner el form MDI mas arriba de la pantalla y no dejo ver la barra, pero para este proyecto no puedo hacer eso, asi que hice esto
Declaracion en el MDIFORM
Código: (vb) [Seleccionar]
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

y esto se coloca en el evento Load
Código: (vb) [Seleccionar]
Dim L As Long
L = GetWindowLong(Me.hwnd, GWL_STYLE)
L = L And Not (WS_MINIMIZEBOX)
L = L And Not (WS_MAXIMIZEBOX)
L = SetWindowLong(Me.hwnd, GWL_STYLE, L)

Pero no funciona, es decir, los botones siguen alli... ¿que puede estar pasando?. Adicionalmente habría que comentar que el usuario tampoco pueda maximizar haciendo doble click sobre la barra.

Gracias


EDICION: Encontre en la web que faltaba poner en la declaracion esto:
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)

Pero tampoco me funciono, seguire indagando.

EDICION 2 Probe esto tambien y nada.. que raro!!!, en la declaracion:
Código: (vb) [Seleccionar]
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
' Funciones para cambiar el estilo
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Const MF_BYPOSITION = &H400&

y en el Load:
Código: (vb) [Seleccionar]
Dim Aux As Long
Dim hSysMenu As Long, nCnt As Long
'Elimina los botones
Aux = GetWindowLong(me.hwnd, GWL_STYLE)
SetWindowLong frmBASE.hwnd, GWL_STYLE, aux Xor (WS_MAXIMIZEBOX Or WS_MINIMIZEBOX)
'Elimina los elementos en el menu
hSysMenu = GetSystemMenu(me.hwnd, False)
If hSysMenu Then
   nCnt = GetMenuItemCount(hSysMenu)
   If nCnt Then
      RemoveMenu hSysMenu, nCnt - 3, MF_BYPOSITION
      RemoveMenu hSysMenu, nCnt - 4, MF_BYPOSITION
   End If
End If

Voy por un trago pq ya me maree.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 12, 2011, 08:20:37 am
Bien aqui completo el asunto que no pude resolver.
http://www.youtube.com/watch?v=2u1JxzSnxrU (http://www.youtube.com/watch?v=2u1JxzSnxrU)

Probe las siguientes forma encontradas en la web:
Forma 1
Código: (vb) [Seleccionar]
DECLARACION
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)

FORM LOAD
Dim L As Long
L = GetWindowLong(frmBASE.hwnd, GWL_STYLE)
L = L And Not (WS_MINIMIZEBOX)
L = L And Not (WS_MAXIMIZEBOX)
L = SetWindowLong(frmBASE.hwnd, GWL_STYLE, L)

Forma 2
Código: (vb) [Seleccionar]
DECLARACION

Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000
Private Const WS_POPUP = &H80000000
Private Const WS_BORDER = &H800000
Private Const WS_SYSMENU = &H80000
Private Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&

FORM LOAD (Solo inhabilita el cerrar)
Dim lEstilo As Long
Dim hMenu As Long
lEstilo = GetWindowLong(Me.hwnd, GWL_STYLE)
lEstilo = lEstilo And WS_POPUPWINDOW Or WS_CAPTION
Call SetWindowLong(Me.hwnd, GWL_STYLE, lEstilo)
hMenu = GetSystemMenu(Me.hwnd, 0)
Call RemoveMenu(hMenu, 3, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(hMenu, 3, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(hMenu, 3, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(hMenu, 3, MF_REMOVE Or MF_BYPOSITION)
DrawMenuBar Me.hwnd

Forma 3
Código: (vb) [Seleccionar]
DECLARACION
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
' Funciones para cambiar el estilo
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Const MF_BYPOSITION = &H400&

FORM LOAD

Dim aux As Long
Dim hSysMenu As Long, nCnt As Long
' Elimina los botones
aux = GetWindowLong(frmBASE.hwnd, GWL_STYLE)
SetWindowLong frmBASE.hwnd, GWL_STYLE, aux Xor (WS_MAXIMIZEBOX Or WS_MINIMIZEBOX)
' Elimina los elementos en el menu
hSysMenu = GetSystemMenu(frmBASE.hwnd, False)
If hSysMenu Then
   nCnt = GetMenuItemCount(hSysMenu)
   If nCnt Then
      RemoveMenu hSysMenu, nCnt - 3, MF_BYPOSITION
      RemoveMenu hSysMenu, nCnt - 4, MF_BYPOSITION
   End If
End If

Y ninguna de las 3 me funciona como lo demuestro en el video... ¿En que estoy mal? Quiero quitar solamente el boton Maximizar y que tampoco funcione el doble clic sobre la barra para maximizar
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: raul338 en Junio 12, 2011, 10:35:57 pm
A mi este codigo (similar al primero) me anda perfecto

Código: (vb) [Seleccionar]
Option Explicit
Private Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE As Long = -16

Private Sub MDIForm_Load()
    Call SetWindowLongA(hwnd, GWL_STYLE, GetWindowLongA(hwnd, GWL_STYLE) And Not WS_MAXIMIZEBOX)
End Sub

Será que lo estas volviendo a poner despues del Form_Load?

PD: Poniendo el mismo codigo del Form_Load, en un boton, el cambio no "se ve" hasta que mueva el form :P
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 12, 2011, 10:46:59 pm
Hola Raul

Tu código funciono perfecto al 66.66% (jeje)

Mira:
Punto 1: El botón sale inhabilitado: Perfecto.
Punto 2: Al hacer doble clic sobre la barra del MDI no se maximiza: Perfecto.
Punto 3: Al hacer click derecho y sale el menú emergente, en ese menú hay la opción de maximizar y se maximiza.

Solo bastaría que hacer desaparecer esa opción del menú emergente y quedaría de 100. Estuve viendo esto ayer casi todo el dia y como no lo pude resolver tome el consejo de xkiz y ya empece a usar formularios con parents en picture, es un poco mas de trabajo pero ni modo, solo me queda la duda si haciéndolo así pierdo algo: performance, memoria, o es igual, si me pudieran aclarar eso les agradecería.

Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: seba123neo en Junio 12, 2011, 11:06:34 pm
solo hay que hacerle un agregado al codigo de raul, obtener el menu del form a traves de la api GetSystemMenu y eliminar la opcion maximizar a traves de su id SC_MAXIMIZE.

Código: [Seleccionar]
Option Explicit

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const MF_BYCOMMAND = &H0
Private Const SC_MAXIMIZE As Long = &HF030&
Private Const GWL_STYLE& = (-16)
Private Const WS_MAXIMIZEBOX As Long = &H10000

Private Sub MDIForm_Load()
    DisableMaxButton
End Sub

Public Sub DisableMaxButton()

    Dim hMenu As Long
    Dim OldStyle As Long

    OldStyle = GetWindowLong(Me.hWnd, GWL_STYLE)
    SetWindowLong Me.hWnd, GWL_STYLE, OldStyle And (Not WS_MAXIMIZEBOX)

    hMenu = GetSystemMenu(Me.hWnd, 0&)
    If hMenu Then
        Call DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
        Call DrawMenuBar(Me.hWnd)
    End If
End Sub

Fuente: removing max button on mdi parent (http://www.vbforums.com/showpost.php?p=2305692&postcount=2)

saludos.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 12, 2011, 11:09:07 pm
Ya por fin: 100%, el codigo va perfecto y cubre los 3 casos.

Como ya vengo avanzando con setparent, pregunta:

Sebas y usar el setparent?? (para evitar el midform) tendria algun problema'?? aparte de un poquito mas de chamba, algun inconveniente podre tener??? o debo cuidar algo??
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: raul338 en Junio 13, 2011, 09:54:43 am
Mira vos, no sabia eso, gracias seba por compartir :P

Sebas y usar el setparent?? (para evitar el midform) tendria algun problema'?? aparte de un poquito mas de chamba, algun inconveniente podre tener??? o debo cuidar algo??
Nunca lo probe yo, pero yo creo, CREO, que puede haber problemas con el Minimizar del formulario que queda hijo. Probalo, pero yo tengo ese presentimiento xD
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 13, 2011, 12:51:24 pm
Si ese es el único problema que pudiera haber, entonces no hay problema pq yo nunca minimizo los formularios hijos, nunca doy esa opción al usuario y en los formularios hijos quito la Barra de Titulos, ni siquiera con el MDI. Chevere.

Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ADONAIRAFA en Junio 14, 2011, 02:22:18 am
 Saludos a Todos  8)!!!

YvanB, no tendrías problema alguno con la API SetParent. En mi caso, una aplicación que estaba desarrollando, la estaba iniciando con el condenado MDIForm de VB 6.0, hasta que me harté de que ese dichoso tipo de form que es muy rígido y casi no se puede hacer un co... con él.
Fue entonces que le planteé el divorcio con separación de bienes (je, je !!!) ;D a ese MDI. Personalicé mis forms utilizando el SetParent... aparte de que suprimí la barra de título quitando cualquier tipo de botones, cree una barra personalizada (para simular una barra de titulo) con un "botón X" (eso sí, lo que no gasté en código, me lo tuve que gastar creando el fondo para que la barra no se viera así como "insípida" por decirlo así, y dibujar también un botón X como si fuese un pintor !!! -me quedó presentable +/- experimentando claro.) La barra la diseñé en un Control ActiveX, y le agregué las API's SendMessage y ReleaseCapture, debido a que como todos sabemos que cuando a un form se le suprime la barra de título, este no se puede mover. Con las API's que nombré se resuelve ese detalle. La barra me quedó 'decente', no es una cosa que se diga: Microsoft, Lynux, se jod... ya no sigan que llegué yo !!! (je, je !!!) no claro que no, pero se deja ver.
Eso sí, así como usas el SetParent, hay que liberar el form al cerrarlo, porque aunque se descargue permanece la referencia en memoria.

Espero que esto pueda servirles de algo !!!

Saludos.
Manuel F. Borrego S.
Barcelona, Venezuela.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ADONAIRAFA en Junio 14, 2011, 02:41:14 am
Ah !!! olvidé un pequeño y mísero "detallito" ::)

Mi estimado YvanB, te habías quejado un poco, que con el VB .Net se hacía lo mismo que en VB 6.0 pero con más código... Pareciera ser cierto, por las primeras impresiones.
Pero que tal, En el VB 9.0 (VB 2008) escoges el Form que quieras, y en la propiedad IsMdiContainer la colocas en True, y listo ya tienes un flamante MDIForm, ah pero todavía hay más ;D...!!! si ud. llama en los próximos 10 minutos le daremos absolutamente gratis las propiedades MaximizeBox y MinimizeBox, las cuales al usted colocarlas en False... listo !!! como por arte de magia (si del mago Microsoft, claro) tiene ud un espléndido MDIForm con solo el Botón X  !!! ahhhh y se ahorra toneladas de código, que solo le harán cambiar sus lentes y gastar su teclado !!! (Je, Je !!!)
Y de paso, puedes hacer prácticamente lo que te de la gana con el MDIForm (muchisimo más que con el del VB 6.0)
Así que llamé ya al 0800-MIGRATEAVBNET-YA y recibirás todas estas ofertas !!!

Je, Je, Je Toda una broma Hermano, y para todos ustedes en este foro !!! ah eso sí, con respecto a lo del MDI en VB 2008, es cierto !!!


Saludos.
Manuel F. Borrego S. 8)
Barcelona, Venezuela
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 14, 2011, 03:13:19 am
Bien Dr ADONAIRAFA, gracias por la recomendacion sobre el .Net.
Y sobre lo del SetParent gracias también y solo pedirte una consulta. Pa no chuparme la memoria de la maquina del cliente, lo mejor es descargar de memoria, alli como seria? asi?

Set Fomulario = Nothing

Con eso es sufi?? gracias
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ADONAIRAFA en Junio 14, 2011, 07:58:56 am
Saludos Compadre !!!

Lo anterior era bromeando  ;D(porque pa' lo de Dr. me falta demasiado, uds son prácticamente unos gurús en este negocio del VB 6.0 :o), mire que yo soy su "padawan" en la gran Orden Firebird (je, je !!!)
Con respecto a lo que me pediste, sencillamente justo antes de la descarga (Form_Unload) colocas:

Call SetParent(Frm.hwnd, 0)        '// el parámetro (handle) del Form padre, lo llevas 0. Ahí lo liberas...
y despues:
Set Form = Nothing          '// (agregas lo que habías propuesto)

y listo.
Espero te sirva !!! (y para mi es satisfactorio poderles ser útil en algo a los maestros de este foro, porque en verdad he aprendido mucho de uds !!!)

Saludos.
Manuel F. Borrego S. 8)


PD: Por cierto, estuve curioseando un poco acerca de la promo que
       haces de tu software Quentas, y se ve fenomenal !!! Enhorabuena !!!
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 14, 2011, 07:37:17 pm
No creas a mi también me falta muchísimo.

Voy a ver sobre esta linea: Call SetParent(Frm.hwnd, 0) 

P.D: Gracias por lo del soft, allí le vamos dando para ir mejorándolo. Ahora estoy trabajando una nueva versión del mismo q dirigiré a otro sector, veremos que tal va.

Saludos
Título: Un pequeño olvido...
Publicado por: ADONAIRAFA en Junio 14, 2011, 08:33:50 pm

Voy a ver sobre esta linea: Call SetParent(Frm.hwnd, 0) 


Saludos compadre !!!

Un detalle: en el parámetro Frm.hwnd, "Frm" representa el nombre del Form 'hijo', debí haber puesto: Form1.hwnd, aclarando por si acaso no se entiende bien.
Un olvido lo tiene cualquiera ::), sobre todo en mi país (Venezuela) donde tenemos como presidente al papá de Humala :o... el grandísimo y nunca bien ponderado del desgraciado, CDSM y HP (no Hewlett Packard !!! Je, Je, Je !!!) del Chávez  :P!!!
Tienes que comprender !!! Je, Je !!!

Saludos
Manuel F. Borrego S.
Barcelona, Venezuela.
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 14, 2011, 08:37:42 pm
jajaja, ok, comprendido doc. Saludos
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: YAcosta en Junio 15, 2011, 02:23:09 am
Cuando hago esto:
Call SetParent(Form1.hwnd, 0)

Me saca el formulario del picture. Entonces, veo que tendría que hacer esto?
Call SetParent(Form1.hwnd, 0)
Unload Form1
Set Form1 = Nothing

Pero al hacer eso me da un ligero parpadeo al irse, porque lo saca y lo descarga. Esta bien si trabajo solo asi?
Unload Form1
Set Form1 = Nothing

Gracias
Título: Re:Quitar Maximizar de un MDIFOR
Publicado por: ADONAIRAFA en Junio 16, 2011, 03:57:22 pm
Tienes razón, pensé que era mi PC, pero el detalle ese del parpadeo, no he podido quitárselo, aún jugando con las líneas de instrucción que te suministré :-[ !!!

Manuel F. Borrego S.
Barcelona, Venezuela.