elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Form al lado de otro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Form al lado de otro  (Leído 1,911 veces)
bautistasbr

Desconectado Desconectado

Mensajes: 268


Ver Perfil
Form al lado de otro
« en: 24 Julio 2006, 14:37 pm »

Ola amigos,tengo una duda en mi proyecto,quiero q el form 2 se ponga al lado del form1,y si muevo el 1 se mueva tambien el 2.Y si muevo el 2 tambien se mueva el uno.No se si me explico bien.
Algo como lo de la imagen.




En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: Form al lado de otro
« Respuesta #1 en: 24 Julio 2006, 15:09 pm »

Ola amigos,tengo una duda en mi proyecto,quiero q el form 2 se ponga al lado del form1,y si muevo el 1 se mueva tambien el 2.Y si muevo el 2 tambien se mueva el uno.No se si me explico bien.
Algo como lo de la imagen.




busca el evento que salta al mover el form y posiciona el otro form según el que ha sido movido... (ejecuta este mismo evento en el activate/load de un form y listo... si quieres saper las apis... el botón de buscar del foro está a tu disposición


En línea

bautistasbr

Desconectado Desconectado

Mensajes: 268


Ver Perfil
Re: Form al lado de otro
« Respuesta #2 en: 25 Julio 2006, 15:14 pm »

me dejaron este code,pero no me va bien,si pudieras exarle un ojo t lo agradeceria.

Form1

Private Type PosF1
X As Long
y As Long
End Type
Dim MiPos As PosF1

Private Sub Form_Load()
On Error Resume Next
Dim X As Long
X = SetWindowPos(hwnd, -1, 0, 0, 0, 0, SWP_FLAGS)
MiPos.X = Me.Top
MiPos.y = Me.Left

End Sub

Private Sub Timer1_Timer()
If MiPos.X <> Me.Top Or MiPos.y <> Me.Left Then
    MiPos.X = Me.Top
    MiPos.y = Me.Left
    Form4.Top = Me.Top
    Form4.Left = Me.Left + Me.Width
End If

End Sub
Private Sub Form_GotFocus()
Timer1.Enabled = True
End Sub

Private Sub Form_LostFocus()
Timer1.Enabled = False
End Sub

en un modulo

Option Explicit

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


' SetWindowPos Flags
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOZORDER = &H4
Const SWP_NOREDRAW = &H8
Const SWP_NOACTIVATE = &H10
Const SWP_DRAWFRAME = &H20
Const SWP_SHOWWINDOW = &H40
Const SWP_HIDEWINDOW = &H80
Const SWP_NOCOPYBITS = &H100
Const SWP_NOREPOSITION = &H200
Public Const SWP_FLAGS = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE


y en el form q quiero q se ponga al lado esto

Private Type PosF1
X As Long
y As Long
End Type
Dim MiPos As PosF1

Private Sub Form_GotFocus()
Timer1.Enabled = True
End Sub

private sub form_load
MiPos.X = Me.Top
MiPos.y = Me.Left
Me.Top = Form1.Top
Me.Left = Form1.Left + Form1.Width
end sub

Private Sub Form_LostFocus()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
If MiPos.X <> Me.Top Or MiPos.y <> Me.Left Then
    MiPos.X = Me.Top
    MiPos.y = Me.Left
    Form1.Top = Me.Top
    Form1.Left = Me.Left - Form1.Width
End If
End Sub
En línea

_Sergi_


Desconectado Desconectado

Mensajes: 842



Ver Perfil
Re: Form al lado de otro
« Respuesta #3 en: 29 Julio 2006, 18:19 pm »

Pues debería de funcionarte.... ¿Has puesto intervalo al Timer?

Un saludo
En línea

Proyecto de Ingeniero
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines