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) (Moderador: kub0x)
| | | |-+  {RUTINA} Arrastrar Controles VB 2008
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: {RUTINA} Arrastrar Controles VB 2008  (Leído 3,200 veces)
ActiveSheet


Desconectado Desconectado

Mensajes: 389


Feeling Jazz


Ver Perfil WWW
{RUTINA} Arrastrar Controles VB 2008
« en: 22 Agosto 2007, 08:27 am »

Esta rutina es para arrastrar y redimenzionar contrles en tiempo de ejecucion
para el VB 2008

para redimenzionar con el boton derecho

Código
  1. Friend Class MoverControles
  2.    Inherits System.Windows.Forms.Form
  3.  
  4.    Private DX, DY As Integer
  5.    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer) As Integer
  6.    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Integer, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
  7.    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, _
  8.    ByVal X As Integer, ByVal Y As Integer, ByVal cX As Integer, ByVal cY As Integer, ByVal wFlags As Integer) As Integer
  9.  
  10.    Const GWL_STYLE As Integer = (-16)
  11.    Const WS_THICKFRAME As Integer = &H40000
  12.    Const SWP_DRAWFRAME As Integer = &H20
  13.    Const SWP_NOMOVE As Integer = &H2
  14.    Const SWP_NOSIZE As Integer = &H1
  15.    Const SWP_NOZORDER As Integer = &H4
  16.    Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  17.        AsignarEventos(Me)
  18.  
  19.    End Sub
  20.    Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
  21.        DX = e.X
  22.        DY = e.Y
  23.        If e.Button = MouseButtons.Right Then
  24.            CambiarEstilo(CType(sender, Control))
  25.        Else
  26.            CType(sender, Control).BringToFront()
  27.        End If
  28.    End Sub
  29.    Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
  30.        If e.Button = MouseButtons.Left Then
  31.            CType(sender, Control).Left = e.X + CType(sender, Control).Left - DX
  32.            CType(sender, Control).Top = e.Y + CType(sender, Control).Top - DY
  33.        End If
  34.    End Sub
  35.    Private Sub AsignarEventos(ByVal elControl As Control)
  36.        Dim ctrl As Control
  37.        For Each ctrl In elControl.Controls
  38.            If ctrl.Name <> "cmdAlgo" And ctrl.Name <> "txtControl1" And ctrl.Name <> "txtControl1" Then ' aqui vaz agregando los controles que quieres estaticos y no redimensionables
  39.                AddHandler ctrl.MouseDown, AddressOf Me.Control_MouseDown
  40.                AddHandler ctrl.MouseMove, AddressOf Me.Control_MouseMove
  41.                AsignarEventos(ctrl)
  42.            End If
  43.        Next
  44.    End Sub
  45.    Private Sub CambiarEstilo(ByVal aControl As Control)
  46.        Dim Style As Integer
  47.        Try
  48.            Style = GetWindowLong(aControl.Handle.ToInt32, GWL_STYLE)
  49.            If (Style And WS_THICKFRAME) = WS_THICKFRAME Then
  50.                Style = Style Xor WS_THICKFRAME
  51.            Else
  52.                Style = Style Or WS_THICKFRAME
  53.            End If
  54.            SetWindowLong(aControl.Handle.ToInt32, GWL_STYLE, Style)
  55.            SetWindowPos(aControl.Handle.ToInt32, Me.Handle.ToInt32, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME)
  56.        Catch
  57.        End Try
  58.    End Sub
  59. End Class


« Última modificación: 22 Agosto 2007, 12:58 pm por ActiveSheet » En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: {RUTINA} Arrastrar Controles VB 2008
« Respuesta #1 en: 25 Agosto 2007, 06:20 am »

esto va en .net... no en vb6.0.....  :-X :-X :-X

Atentamente,


Juan Manuel Lombana
Medellín - Colombia


En línea


ActiveSheet


Desconectado Desconectado

Mensajes: 389


Feeling Jazz


Ver Perfil WWW
Re: {RUTINA} Arrastrar Controles VB 2008
« Respuesta #2 en: 25 Agosto 2007, 06:38 am »

y el foro de VB 2008?
En línea

rob1104


Desconectado Desconectado

Mensajes: 340


Usuario común


Ver Perfil WWW
Re: {RUTINA} Arrastrar Controles VB 2008
« Respuesta #3 en: 25 Agosto 2007, 09:12 am »

Desde Visual Basic 7.0, 2003, 2005 y ahora el 2008 usan la tecnologia .NET...

http://es.wikipedia.org/wiki/Visual_Basic.NET   ;D

Saludos
« Última modificación: 25 Agosto 2007, 09:15 am por robbie110487 » En línea

Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arrastrar txt sobre Bat [Solucionado]
Scripting
Dany3j 7 4,656 Último mensaje 24 Julio 2011, 02:06 am
por Dany3j
Rutina de ejercicios? « 1 2 »
Foro Libre
Cergath 10 7,393 Último mensaje 27 Marzo 2012, 02:25 am
por Spider-Net
[Ayuda] Juego de nave (Rutina de asteroides)
Programación C/C++
Zodiak98 2 4,013 Último mensaje 7 Septiembre 2013, 23:47 pm
por eferion
El robo en bancos virtuales: una rutina en Japón
Noticias
wolfbcn 0 1,230 Último mensaje 3 Junio 2014, 02:01 am
por wolfbcn
Rutina de ejercicios? « 1 2 »
Foro Libre
Panic0 19 7,452 Último mensaje 26 Agosto 2020, 10:55 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines