Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

API SetParent crear efecto MDIForm es posible?

Estas en el tema de API SetParent crear efecto MDIForm es posible? en el foro de Visual Basic clásico en Foros del Web. Utilizo la API SetParent para trabajar con formularios dentro de otro sin necesidad de utilizar un MDI como contenedor modulo bas Código: 'Declaración de SetParent ...
  #1 (permalink)  
Antiguo 05/02/2009, 19:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 2 meses
Puntos: 2
API SetParent crear efecto MDIForm es posible?

Utilizo la API SetParent para trabajar con formularios dentro de otro sin necesidad de utilizar un MDI como contenedor

modulo bas
Código:
'Declaración de SetParent
Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
form1 que contendra al form2
Código:
Private Sub Command1_Click()
  Dim res As Long
  res = SetParent(Form2.hWnd, Form1.hWnd)
  Form2.Show
End Sub
El problema es cuando maximizo mi form2 se muestra de esta manera


Es posible lograr el efecto que se produce con los mdiform es decir que se muestre de esta manera
  #2 (permalink)  
Antiguo 06/02/2009, 06:59
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: API SetParent crear efecto MDIForm es posible?

Qué tal?

En principio no es posible, por eso VB tiene un formulario específico para MDI. Fíjate que utilizando SetParent tampoco salen las scrollbars si un formulario hijo se sale del area.

Es posible que utilizando la API SetWindowLong puedas configurar todas las propiedades necesarias para lo que quieres, pero tampoco te garantizo que funcione, ya que hay ciertas propiedades que sólo se pueden establecer en el momento de crear la ventana (la lógica interna del propio Windows impone que sea así), y todo eso VB lo hace de forma automática cuando añades un form al proyecto.

También puedes trabajarte un work-around de forma que el form hijo se "auto-quite" el borde al maximizarse y el form que hace de padre se "auto-active" los botones para simular el efecto que quieres, pero no creo que el esfuerzo compense...
__________________
wile sona li mute e sona
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:40.