Autor Tema: Editor Skinner 1.0.0  (Leído 3490 veces)

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

Nano-rosario

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Editor Skinner 1.0.0
« en: Diciembre 17, 2009, 04:57:05 pm »
Leandro en la aplicacion Editor Skinner 1.0.0 tenes un frame Vista previa en Diseño y Ayuda, en el medio tenes podes resizar los frame, se puede saber que codigo usaste?
Porque tengo un form con varios controles y quiero que se puedan ajustar el tamaño, pero los controles son variables, me explico, como en vb, si tenes el explorador de objeto, el cuadro de herramientas, etc.

y otra cosa, si no usas un MDI, cada form que queres aplicar el skin hay que crear el hook?

Saludos

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Editor Skinner 1.0.0
« Respuesta #1 en: Diciembre 17, 2009, 08:55:48 pm »
hola te paso un ejemplo para mover dos frames con una linea (Picturebox) horizontal

pone en un formulario dos Frame (Frame1 y Frame2) y un picture1
Código: [Seleccionar]
Option Explicit

Private Sub Form_Load()
    Picture1.Left = 0
    Picture1.Height = 200
    Picture1.MousePointer = 7
End Sub


Private Sub Form_Resize()
    AjustarFrames
End Sub

Private Sub AjustarFrames()
    Picture1.Width = Me.ScaleWidth
    Frame1.Move 0, 0, Me.ScaleWidth, Picture1.Top
    Frame2.Move 0, Picture1.Top + Picture1.ScaleHeight, Me.ScaleWidth, Me.ScaleHeight - Picture1.Top - Picture1.Height
End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static lY As Long
    Dim TopValue As Long
    Const TopMinimo = 500
    Const TopMaximo = 1000
    If Button = 1 Then
        TopValue = Picture1.Top + Y - lY
        If TopValue > TopMinimo And TopValue < Me.ScaleHeight - TopMaximo Then
            Picture1.Top = TopValue
            AjustarFrames
        End If
    Else
        lY = Y
    End If
End Sub

y este para mover los frame con una linea vertical

Código: [Seleccionar]
Option Explicit

Private Sub Form_Load()
    Picture1.Top = 0
    Picture1.Width = 200
    Picture1.MousePointer = 9
End Sub


Private Sub Form_Resize()
    AjustarFrames
End Sub

Private Sub AjustarFrames()
    Picture1.Height = Me.ScaleHeight
    Frame1.Move 0, 0, Picture1.Left, Me.ScaleHeight
    Frame2.Move (Picture1.Left + Picture1.ScaleWidth), 0, Me.ScaleWidth - (Picture1.Left + Picture1.ScaleWidth), Me.ScaleHeight
End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static lX As Long
    Dim LeftValue As Long
    Const LeftMinimo = 500
    Const LeftMaximo = 1000
    If Button = 1 Then
        LeftValue = Picture1.Left + X - lX
        If LeftValue > LeftMinimo And LeftValue < Me.ScaleWidth - LeftMaximo Then
            Picture1.Left = LeftValue
            AjustarFrames
        End If
    Else
        lX = X
    End If
End Sub


por la segunda pregunta el hook (el que esta en el modulo bas) es para que aplique el skin por cada ventana que se crea si vos queres usar solo con un formulario no hace falta solo usas el modulo clase y   implementas esta en cada formulario que quieras aplicar un skin.

sAludos.

Nano-rosario

  • Bit
  • Mensajes: 4
  • Reputación: +0/-0
    • Ver Perfil
Re:Editor Skinner 1.0.0
« Respuesta #2 en: Diciembre 23, 2009, 11:22:37 am »
Gracias leandro, en cuanto al skin, porque puede ser que ante un evento desaparesca el menu? a veces cuando cambio el tamaño del form, otras veces clickeando un control....

saludos

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Editor Skinner 1.0.0
« Respuesta #3 en: Diciembre 27, 2009, 03:17:25 pm »
Si puede ser, la verdad es complicado sacarle todo el repintado de windows.