Cambiar aspecto de ventanas

26/01/2007 - 15:22 por Roberto Val | Informe spam
Hola a todos. Soy programador de C/C++ y hace poco que estoy en esto de
vb.net y me encuentro bloqueado al intentar cambiar el sapecto de las
ventanas.

Digamos que deseo que todas las ventanas de mis aplicaciones tengan un
aspecto determinado, por ejemplo la zona no cliente que sea de color verde.
Esto en C/C++ lo lograría interceptando el mensaje de Windows WM_NCPAINT y
haciéndome cargo del repintado en lugar de la función por defecto
(DefWindowProc).

El problema es que no encuentro la forma de hacerlo en vb.net y al ser
novato no tengo entrenada la intuición a la hora de buscar en internet.
¡Alguien me puede ayudar con alguna pista sobre el camino a explorar o algún
ejemplo de aplicación capaz de cambiar su aspecto respecto del aspecto
estandar deWindows.

Gracias y un saludo.
 

Leer las respuestas

#1 Luis Miguel Blanco
26/01/2007 - 19:29 | Informe spam
Hola Roberto

Prueba a reemplazar el método WndProc de la clase Window, en el cual puedes
escribir una estructura de procesamiento de los mensajes WM_ de la ventana.

'////////////////////////////////////
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
' estructura de proceso de mensajes
Select Case (m.Msg)
Case WM_XXXXX_1
' cuando se detecte el mensaje, realizar
' nuestras operaciones personalizadas
'

Case WM_XXXXX_2
'

End Select

' llamar a la estructura de proceso de mensajes por defecto
' para que el mensaje sea tratado con el comportamiento base
MyBase.WndProc(m)
End Sub
'////////////////////////////////////

Espero que estas indicaciones te orienten aunque sea un poco para lo que
necesitas.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Roberto Val" wrote:

Hola a todos. Soy programador de C/C++ y hace poco que estoy en esto de
vb.net y me encuentro bloqueado al intentar cambiar el sapecto de las
ventanas.

Digamos que deseo que todas las ventanas de mis aplicaciones tengan un
aspecto determinado, por ejemplo la zona no cliente que sea de color verde.
Esto en C/C++ lo lograría interceptando el mensaje de Windows WM_NCPAINT y
haciéndome cargo del repintado en lugar de la función por defecto
(DefWindowProc).

El problema es que no encuentro la forma de hacerlo en vb.net y al ser
novato no tengo entrenada la intuición a la hora de buscar en internet.
¡Alguien me puede ayudar con alguna pista sobre el camino a explorar o algún
ejemplo de aplicación capaz de cambiar su aspecto respecto del aspecto
estandar deWindows.

Gracias y un saludo.



Preguntas similares