Visual Basic - Gran Duda..

Life is soft - evento anual de software empresarial
 
Vista:

Gran Duda..

Publicado por alexis (49 intervenciones) el 07/07/2005 21:06:30
como puedo hacer el efecto que tiene por ejemplo el explorardor de windows, que se puede variar el tamaño de una ventana ( menu arbol) y a la vez se modifica directamente el tamaño de la otra ventana (menu de lista)

acepto cualquier sugerencia....

shausssssss
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Gran Duda..

Publicado por SuNcO (599 intervenciones) el 08/07/2005 00:40:43
Con la ayuda de google pude hacerlo por fin

Claro, no es el real que puedes crear Splits pero funciona

Requiere solo 2 PictureBox (el de la izquierda mas chico que el de la derecha) :

Const GWL_STYLE = (-16)
Const WS_THICKFRAME = &H40000

Const SWP_DRAWFRAME = &H20
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_NOZORDER = &H4

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long

Private Sub CambiarEstilo(queControl As Control)
Dim Style As Long

Style = GetWindowLong(queControl.hwnd, GWL_STYLE)
Style = Style Or WS_THICKFRAME
Style = SetWindowLong(queControl.hwnd, GWL_STYLE, Style)
Style = SetWindowPos(queControl.hwnd, Me.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME)
End Sub

Private Sub Form_Load()
CambiarEstilo Picture1
End Sub

Private Sub Picture1_Resize()
Picture2.Left = Picture1.Width + 200
Picture2.Width = Form1.Width - Picture2.Left - 200
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar