Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: Nano-rosario 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
-
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
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
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.
-
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
-
Si puede ser, la verdad es complicado sacarle todo el repintado de windows.