ActiveX CortaRegiones
Versión 1.0

Publicado el 19/Ene/2001
Fecha: 04/Agosto/2001

Autor: Josué B. Casella M.



 

ActiveX que da Forma a Cualquier Control

El archivo está documentado internamente aquí coloco ciertas cosas que se me escaparon.

Utiliza 4 funciones de API, pero sólo están como para utilizarlas en sistemas de 32 bits, si deseas
hacerla para 16 bits, tienes que especificar que sea de 16 bits, esas explicaciones están en el Curso
Básico de Visual Basic de Guille, y además un PictureBox que trae de manera standard el Visual Basic.

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

La explicación de lo que hacen está en el archivo.
Utilizo 3 variables para las regiones y 2 variables como contadoras

Dim rgn&, rgn2() As Long
Dim TmmP, I%, J%

AQUI ESTÁ LA PARTE QUE ME OLVIDÉ  DE EXPLICAR
Esto ya no es parte central de lo que se hace aquí sino para piquetear.
Lo que hago aquí es que la hacer como cuando muevo la barra de título, se haga lo mismo con la ventana.

Dim Exis%, Ye% 'Voy a utilizarlas para marcar las coordenadas del Ratón

Private Sub Form_Load()
'Este es el Formato de Llamada al Objeto
Cortar.Cortar Form1, 255, 255, 255 'Nombre del Control.Cortar NombredelObjeto,ColorRojo,ColorVerde,ColorAzul
'Es para la función RGB de los colores

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Tomo la posición actual del Ratón
Exis = X
Ye = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Pregunto si el Botón primario está aplastado
If Button = 1 Then
    'move es una función del Visual para mover objetos
    Move (Me.Left + X) - Exis, (Me.Top + Y) - Ye 'Muevo la ventana
End If
End Sub

'   Cualquier aporte o sugerencia o pregunta, escríbeme
'   Josué B. Casella M.
'   [email protected]
'   Esmeraldas-Ecuador


Link al listado del código: CasellaCortaRegiones.zip (18.1KB)


ir al índice