DwmApi de Windows, Ampliar área de Cliente de Form

190 views
Skip to first unread message

Fernando Mora

unread,
Sep 4, 2020, 2:49:52 PM9/4/20
to Comunidad de Visual Foxpro en Español
Estoy usando DwmExtendFrameIntoClientArea para ampliar el área de cliente del form, para poder colocar objetos en la barra de titulo de la ventana de nivel superior, pero los objetos que dibujo también quedan transparente si les aplico color de relleno que no sea blanco. algo debo estar haciendo mal ¿alguien tiene alguna sugerencia respecto a esta api de windows?

DWMAPI.png


ZeRoberto

unread,
Sep 5, 2020, 11:18:31 PM9/5/20
to publicesvfoxpro
Se ve chevere, como hiciste lo de las pestañas

Saludos

Ze



El vie., 4 de sep. de 2020 a la(s) 13:49, Fernando Mora (servipcco...@gmail.com) escribió:
Estoy usando DwmExtendFrameIntoClientArea para ampliar el área de cliente del form, para poder colocar objetos en la barra de titulo de la ventana de nivel superior, pero los objetos que dibujo también quedan transparente si les aplico color de relleno que no sea blanco. algo debo estar haciendo mal ¿alguien tiene alguna sugerencia respecto a esta api de windows?

DWMAPI.png


--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/3a529ea9-c26c-4ff0-93d2-723a95d82109o%40googlegroups.com.

Dsan

unread,
Sep 6, 2020, 12:24:43 AM9/6/20
to publice...@googlegroups.com
Hola Fernando..

Bueno yo no he trabajado con formularios degradado, pero si vi una grid con titulo que los tab usa imagenes y esa seria una solucion ya que el color es parte del formulario pero si usas imagen es otra cosa... este es otro proyecto...
image.png

Por otro lado, me gustaria saber si con solo el vfp obtiene esa informaciòn del equipo, me gustaria saber con que lo lograstes...

Saludes

DSanchez





El vie., 4 sept. 2020 a las 12:49, Fernando Mora (<servipcco...@gmail.com>) escribió:
Estoy usando DwmExtendFrameIntoClientArea para ampliar el área de cliente del form, para poder colocar objetos en la barra de titulo de la ventana de nivel superior, pero los objetos que dibujo también quedan transparente si les aplico color de relleno que no sea blanco. algo debo estar haciendo mal ¿alguien tiene alguna sugerencia respecto a esta api de windows?

DWMAPI.png


Fernando Mora

unread,
Sep 6, 2020, 1:13:20 PM9/6/20
to Comunidad de Visual Foxpro en Español
Hola ZeRoberto y DSanchez. Gracias por responder.
Los Tabs son dibujados con contenedores,es la misma técnica que aprendimos con FoxRibbon, a cada Tab lo amarro con una propiedad donde grabo el Handle de cada form al que pertenece para que sepa cual mostrar y luego cual cerrar. Lo barra  que contiene todos los Tabs es otro container tiene métodos para agregar o remover los tabs. 
¿Porque me quedaba transparente? La solución es lo que menciona DSanchez, se debe usar SI o SI imágenes, si simplemente se colorea el contenedor como lo venía haciendo, este queda traslucido y ese no era el efecto deseado. Se debe usar imágenes incluso para pintar el titulo del tab, porque si usamos label, este queda transparente. Lo mismo que el botón de cerrar. Yo venia usando un label con la X.. no sirve eso. Debe ser bmp. 

DSanchez, sí la info de la tarjeta de red la sacas con la Api GetAdaptersAddresses de IpHlpApi de Windows.
El boton ejecutar del form debe mostrar todos los IP de la red local, ese dato lo obtienes con GetIpNetTable: 

Dsan

unread,
Sep 7, 2020, 7:51:44 PM9/7/20
to publice...@googlegroups.com

Hola Fernando me alegro que le hayas encontrado...la solución y gracias por la Infor...

DSanchez, sí la info de la tarjeta de red la sacas con la Api GetAdaptersAddresses de IpHlpApi de Windows.
El boton ejecutar del form debe mostrar todos los IP de la red local, ese dato lo obtienes con GetIpNetTable: 

saludes
Douglas

--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages