Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: k_arlytos en Noviembre 09, 2009, 10:53:43 pm
-
mi idea es comer parte de una ventana en vb6.0 o eliminar un trozo se podra?
-
Hablas de mostrar un formularios con diferentes formas?
-
nononono simplemente borrar parte de una ventana por ejemplo el medio del formulario tenga un hueco algo asi
-
nononono simplemente borrar parte de una ventana por ejemplo el medio del formulario tenga un hueco algo asi
podrias usar el api SetLayeredWindowAttributes y setearle un color (por ejemplo rojo) y entonces, pintar esa parte del form con rojo y quedara invisible.
saludos
-
hola o como dice Coco o sino con Regiones
Option Explicit
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
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 CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Const RGN_XOR = 3
Private Sub Form_Resize()
Dim hRgn1 As Long, hRgn2 As Long
Dim Rec As RECT
Dim lW As Long, lH As Long
GetWindowRect Me.hwnd, Rec
lW = Rec.Right - Rec.Left
lH = Rec.Bottom - Rec.Top
hRgn1 = CreateRectRgn(0, 0, lW, lH)
hRgn2 = CreateRectRgn(lW / 3, lH / 3, lW / 1.5, lH / 1.5)
Call CombineRgn(hRgn1, hRgn2, hRgn1, RGN_XOR)
SetWindowRgn Me.hwnd, hRgn1, True
DeleteObject hRgn2
End Sub
Saludos.
-
Buenisimo Leandro...