Autor Tema: borrar parte de una ventana  (Leído 4798 veces)

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

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
borrar parte de una ventana
« 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?
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:borrar parte de una ventana
« Respuesta #1 en: Noviembre 10, 2009, 01:21:23 pm »
Hablas de mostrar un formularios con diferentes formas?
Miguel Núñez.

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:borrar parte de una ventana
« Respuesta #2 en: Noviembre 10, 2009, 02:21:09 pm »
nononono simplemente borrar parte de una ventana por ejemplo el medio del formulario tenga un hueco algo asi
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:borrar parte de una ventana
« Respuesta #3 en: Noviembre 10, 2009, 02:46:15 pm »
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
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:borrar parte de una ventana
« Respuesta #4 en: Noviembre 10, 2009, 04:44:44 pm »
hola o como dice Coco o sino con Regiones

Código: [Seleccionar]
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.
« última modificación: Noviembre 10, 2009, 04:47:37 pm por LeandroA »

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:borrar parte de una ventana
« Respuesta #5 en: Noviembre 10, 2009, 05:32:08 pm »
Buenisimo Leandro...
Miguel Núñez.