Autor Tema: Dibujar un rectangulo redondeado  (Leído 3538 veces)

0 Usuarios y 1 Visitante están viendo este tema.

xmbeat

  • Kilobyte
  • **
  • Mensajes: 84
  • Reputación: +3/-1
  • la vida no tiene sentido sin Dios
    • Ver Perfil
Dibujar un rectangulo redondeado
« en: Diciembre 15, 2009, 05:52:29 pm »
Estoy haciendo un Control de Usuario del tipo Boton de comando, el cual soporta un efecto degradado pero me caga que sea completamente rectangular
mi idea es usar las funciones api CreateRoundRectRgn y SetWindowRgn para hacerlo redondeado y lo hace, pero tambien quiero que con la misma funcion CreateRoundRectRgn y otra Api (La que quiero que me digan cual) dibujar el contorno para que no se  vea tan feo
El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Dibujar un rectangulo redondeado
« Respuesta #1 en: Diciembre 15, 2009, 07:44:56 pm »
hola RoundRect es el api que buscas, a lo mismo que CreateRoundRectRgn los dos ultimos parametros son para indicar el redondeado de las puntas.

Option Explicit
Private Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

Private Sub Form_Paint()
    RoundRect Me.hdc, 10, 20, 200, 50, 12, 12
End Sub


Saludos.

xmbeat

  • Kilobyte
  • **
  • Mensajes: 84
  • Reputación: +3/-1
  • la vida no tiene sentido sin Dios
    • Ver Perfil
Re:Dibujar un rectangulo redondeado
« Respuesta #2 en: Diciembre 15, 2009, 09:10:28 pm »
Gracias por tu respuesta aun no la implemento al OCX pero estoy seguro que funciona
El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein