Visual Basic - Problema al arrastar un formulario

Life is soft - evento anual de software empresarial
 
Vista:

Problema al arrastar un formulario

Publicado por Jose Alberto (20 intervenciones) el 06/11/2009 13:34:06
Resulta que si pincho en un formulario y lo arrastro, en ese intervalo de tiempo el programa desatiende el resto de tareas que son en tiempo real.

¿hay alguna forma de poder arrastrar un formulario y que no afecte al resto de la aplicación?
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: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Problema al arrastar un formulario

Publicado por Christian (713 intervenciones) el 07/11/2009 03:11:05
probaste con un Doevents ?

saludos.-
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

RE:Problema al arrastar un formulario

Publicado por juan carlos (518 intervenciones) el 07/11/2009 03:13:17
lo que sucede es que al dar el foco al formulario se pierde el enfoque de los demas

si lo arrastas desde la forma directamente

'Mover un Form sin caption

'Listado a insertar en un módulo (.bas)
'si se quiere poner en un formulario (.frm)
'declarar la función como Private y quitar el Global de las constantes

'Constantes y declaración de función:
'Constantes para SendMessage
Global Const WM_LBUTTONUP = &H202
Global Const WM_SYSCOMMAND = &H112
Global Const SC_MOVE = &HF010
Global Const MOUSE_MOVE = &HF012

#If Win32 Then
Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
#Else
Declare Function SendMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
#End If

'Este código se pondrá en el Control_MouseDown...
Dim lngRet As Long

'Simular que se mueve la ventana, pulsando en el Control
If Button = 1 Then
'Envía un MouseUp al Control
lngRet = SendMessage(Control.hWnd, _
WM_LBUTTONUP, 0, 0)
'Envía la orden de mover el form
lngRet = SendMessage(FormX.hWnd, _
WM_SYSCOMMAND, MOUSE_MOVE, 0)
End If
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

RE:Problema al arrastar un formulario

Publicado por Jose Alberto (20 intervenciones) el 07/11/2009 13:33:23
Buenas,

Lo he probado y sigo teniendo el mismo problema.

Al final creo que lo voy a hacer separando el programa en dos ejecutables independientes para que no se interrumpan las tareas.
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