Sección de códigos , trucos y ejemplos para visual basic


46 - Incrustar un Formulario dentro de un control PictureBox con el Api SetParent

<Volver> - Anterior - Siguiente



 

El siguiente código fuente utiliza las funciones del Api SetParent y ShowWindow para incrustar un formulario o ventana dentro de un picturebox.

 

Vista del form2 incrustado en el PictureBox

Vista del ejemplo que usa el Api SetParent y Showwindow para incrustar ventanas dentro de objetos contenedores como un picturebox por ejemplo


Hay dos subRutinas llamadas Incrustar_Formulario y Liberar_Formulario. La primera recibe como parámetro el formulario y el control PictureBox

Sub Incrustar_Formulario(El_Formulario As Form, El_PictureBox As PictureBox)

 

La otra función solo el nombre del formulario:

Sub Liberar_Formulario(El_Formulario As Form)

 

La función Api SetParent es muy simple y funciona asi: Se debe especificar en el primer parámetro el control / ventana que se va a incrustar pasándole la propiedad Hwnd.

El otro parámetro es el control destino, es decir el contenedor o ventana padre, pasándole también la propiedad Hwnd. (en este caso es el PictureBox)

ret = SetParent (La ventana, Ventana Padre )

 

Justo después de incrustar la ventana, se llama a ShowWindow para maximizar el Form2 que se incrustò en el Picture1. ( esto es opcional )

Nota: podemos meter cualquier control que posea la propiedad Hwnd, por ejemplo 1 TextBox, ListBox de otro formulario , un combo, botones etc..

Y también se puede meter cualquier ventana de Windows, por ejemplo meter el Microsoft Word dentro de un Picture o de un Form, para esto último el procedimiento sería el mismo que en este ejemplo, pero habría que obtener el Hwnd del Word para poder pasarcelo a la función SetParent. El Hwnd lo podríamos rescatar mediante la Api FindWindow, FindWindowEx, GetWindow, y otras

 

Controles para el ejemplo

 

Código fuente en el Form1:

 


Recursos vb 6.0 - Enlaces relacionados a SetParent



Buscar en Recursos vb