aInteresante! | Contenido para todo el mundo.
Bienvenido a nuestro foro!

Te invitamos a formar parte de nuestro gran equipo.
Puedes registrarte y empezar a crear temas y a hacer post.
Lo único que necesitas es:

* Tiempo para hacerlo
* Voluntad para querer ayudar a los demás

También puedes visitar nuestro blog:
http://ainteresante.wordpress.com

Unirse al foro, es rápido y fácil

aInteresante! | Contenido para todo el mundo.
Bienvenido a nuestro foro!

Te invitamos a formar parte de nuestro gran equipo.
Puedes registrarte y empezar a crear temas y a hacer post.
Lo único que necesitas es:

* Tiempo para hacerlo
* Voluntad para querer ayudar a los demás

También puedes visitar nuestro blog:
http://ainteresante.wordpress.com
aInteresante! | Contenido para todo el mundo.
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Conectarse

Recuperar mi contraseña

Últimos temas
» Pack de 500 pinceles para Photoshop cs6 y cc
Redondear esquinas de un Formulario Icon_minitime1Sáb Feb 09, 2019 11:48 am por Elmer Homero

» Guía 2015 | Cómo subir de grupo, ganar más BAPs y dinero creando campañas en PaidVerts
Redondear esquinas de un Formulario Icon_minitime1Dom Mayo 31, 2015 4:25 pm por Elmer Homero

» 2015| Cómo reducir el peso de tus imágenes sin perder la calidad | SIN PROGRAMAS |
Redondear esquinas de un Formulario Icon_minitime1Vie Mayo 15, 2015 5:09 pm por Elmer Homero

» [Guía 2015]Como ganar dinero viendo anuncios en internet con PaidVerts, ¿Qué es y cómo funciona?
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 5:31 pm por Elmer Homero

» Las mejores páginas PTC para trabajar y ganar dinero.
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 5:27 pm por Elmer Homero

» Descargar sb0t 5.27 chat server para Ares - nuevo 2015 -
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 4:25 pm por Elmer Homero

» sb0t 4.28[Chat Server
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 4:22 pm por Elmer Homero

» Pack Themes(Temas) Premium para tus foros de SMF (2015)
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 4:01 pm por Elmer Homero

» CS 1.6 Problema con Lista de server (Server List) [Solucion]
Redondear esquinas de un Formulario Icon_minitime1Miér Abr 15, 2015 3:45 pm por Elmer Homero

» Richard Burns Rally (simulacion de rally)- descargar
Redondear esquinas de un Formulario Icon_minitime1Sáb Dic 29, 2012 10:11 am por eric97avila

Visitas!

Dark Help

Redondear esquinas de un Formulario

Ir abajo

Redondear esquinas de un Formulario Empty Redondear esquinas de un Formulario

Mensaje por Elmer Homero Lun Mar 29, 2010 8:01 am

Ejemplo que usa las funciones del Api SetWindowRgn y CreateRoundRectRgn para aplicar un borde redondeado a las esquinas de un formulario o ventana

En el código fuente hay una función llamada Redondear_Formulario.

En el primer parámetro de la función hay que pasarle como parámetro, el formulario que queremos aplicar el esquinado, y en el otro parámetro el valor del radio, mientras mas grande sea el valor que le pasemos, el formulario mas redondo será.



Por ejemplo para usarlo con el form actual con un valor de 150.
Código:
Call Redondear_Formulario(Me, 150)

Nota: Se debe quitar los bordes al formulario mediante la propiedad BorderStyle con el valor 0.


Otro detalle a tener en cuenta es que, si le sacamos la barra de titulo, ya no podemos mover el formulario. Esto lo podemos solucionar con la función Api RelaseCapture y SendMessage para poder hacer un Drag o arrastre sobre el mismo. Este ejemplo para arrastrar controles y formularios mediante el Api lo podés ver en la página siguiente a esta.

Redondear esquinas de un Formulario Formulario_redondo_curva


Codigo fuente en el Formulario:

Código:
  Option Explicit 
   
   
  'Declaraciones de funciones Api 
   
  ' Crea la región 
  Private Declare Function CreateRoundRectRgn Lib "gdi32" ( _ 
      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 
   
  'Establece la región 
  Private Declare Function SetWindowRgn Lib "user32" ( _ 
      ByVal hwnd As Long, _ 
      ByVal hRgn As Long, _ 
      ByVal bRedraw As Boolean) As Long 
   
   
  Private Sub Redondear_Formulario(El_Form As Form, Radio As Long) 
   
  Dim Region As Long 
  Dim Ret As Long 
  Dim Ancho As Long 
  Dim Alto As Long 
  Dim old_Scale As Integer 
       
      ' guardar la escala 
      old_Scale = El_Form.ScaleMode 
       
      ' cambiar la escala a pixeles 
      El_Form.ScaleMode = vbPixels 
       
      'Obtenemos el ancho y alto de la region del Form 
      Ancho = El_Form.ScaleWidth 
      Alto = El_Form.ScaleHeight 
   
      'Pasar el ancho alto del formualrio y el valor de redondeo .. es decir el radio 
      Region = CreateRoundRectRgn(0, 0, Ancho, Alto, Radio, Radio) 
   
      ' Aplica la región al formulario 
      Ret = SetWindowRgn(El_Form.hwnd, Region, True) 
       
      ' restaurar la escala 
      El_Form.ScaleMode = old_Scale 
   
  End Sub 
   
  Private Sub Form_Load() 
       
       
       
       
      MsgBox "Quitarle el borde al formulario: Border Style en 0", vbInformation 
       
      ' Le pasamos el formulario y el radio de redondeo 
      Call Redondear_Formulario(Me, 100) 
   
  End Sub 
Elmer Homero
Elmer Homero
Admin

Mensajes : 88
Puntos : 256
Reputación : 2
Fecha de inscripción : 12/01/2010

https://ainteresante.forosactivos.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.