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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Un formulario y poder desplazarlo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Un formulario y poder desplazarlo  (Leído 1,511 veces)
SheKeL_C$


Desconectado Desconectado

Mensajes: 549


_-=[Sh3K3L_C$]=-_


Ver Perfil
Un formulario y poder desplazarlo
« en: 28 Diciembre 2005, 12:38 pm »

holas,

tego un formulario k quiero q no tenga los tipicos botones de cerrar maximizar y minimizar, los tengo como botones dentro del formulario, asi k l puse borderstyle 0none, entonces desaparece pero no lo puedo desplazar q es lo q yo busco, el poder desplazarlo

Gracias  ::) ;D


En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Un formulario y poder desplazarlo
« Respuesta #1 en: 28 Diciembre 2005, 18:36 pm »

Hola seken_C4.

También estoy interesado en lo mismo, ahora no tengo tiempo para probar esto pero lo haré..

Se me ocurre por ejemplo (son sólo ideas), crear un botón que simule la barra donde están los botones de minimizar etc.. y cuando sea pulsada variar los valores Left y Top del formulario.. Tengo bastantes lagunas de cómo hacer variar los valores según la posición del ratón.. todo es probar..

Un saludo


En línea

casaviella

Desconectado Desconectado

Mensajes: 35


Ver Perfil WWW
Re: Un formulario y poder desplazarlo
« Respuesta #2 en: 28 Diciembre 2005, 21:55 pm »

Este codigo que pongo a continuación lo puso Reydelmundo11 en un post de este foro pero lo vuelvo a poner yo.

Module1.bas
Código:
'********************************************************************************
'*                      Movimiento del formulario                               *
'*                      de Reydelmundo11                                        *
'********************************************************************************

Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const HTCAPTION = 2


Public Sub FormDrag(theform As Form)
ReleaseCapture
Call SendMessage(theform.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub

En el form:
Código:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call FormDrag(Form1)
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call FormDrag(Form1)
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call FormDrag(Form1)
End Sub

No olvides de cambiar Form1 por el nombre de tu form pero sin quitar los parentesis.

Saludos y felices navidades  ;D :rolleyes:
En línea

Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: Un formulario y poder desplazarlo
« Respuesta #3 en: 29 Diciembre 2005, 05:11 am »

mira este codigo me lo hizo ZEALOT para mi les dejo el codigo, aparte este codigo la moverlo o apretar sobre la barra de titulo hace que se vuelva transparente XD!!!
Código:
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 wNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
'Requires Windows 2000 or later:
Private Const WS_EX_LAYERED = &H80000

Private Declare Function SetLayeredWindowAttributes Lib "USER32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Dim posx As Integer, posy As Integer, estado As Integer
Public Sub MakeWindowTransparent(ByVal hWnd As Long, ByVal alphaAmount As Byte)
Dim lStyle As Long
lStyle = GetWindowLong(hWnd, GWL_EXSTYLE)
lStyle = lStyle Or WS_EX_LAYERED
SetWindowLong hWnd, GWL_EXSTYLE, lStyle
SetLayeredWindowAttributes hWnd, 0, alphaAmount, LWA_ALPHA
End Sub

'La transparencia es graduable modificando el alphaamount en este caso esta en 150 mientras menor es este valor mas transparente se torna

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
posx = X
posy = Y
If WindowState = 0 Then
estado = 1
Else
estado = 0
End If
Call MakeWindowTransparent(Form1.hWnd, 180)
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If estado = 1 Then Form1.Move Form1.Left + X - posx, Form1.Top + Y - posy
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
estado = 0
Call MakeWindowTransparent(Form1.hWnd, 255)
End Sub

Private Sub lblCerrar_Click()
End
End Sub

Private Sub lblmax_Click()
If Form1.WindowState = 0 Then
Form1.WindowState = 2
Else
Form1.WindowState = 0
End If
End Sub

Private Sub lblmin_Click()
Form1.WindowState = 1
End Sub


Sancho Mazorka     :P
En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


SheKeL_C$


Desconectado Desconectado

Mensajes: 549


_-=[Sh3K3L_C$]=-_


Ver Perfil
Re: Un formulario y poder desplazarlo
« Respuesta #4 en: 29 Diciembre 2005, 10:01 am »

Hola d nuevo y gracias a los 3, m voy a quedar con el d Sancho.Mazorka q el q sea transparente... gana muxo con eso  ;D

Gracias d nuevo y espero en otras ocasoines ayudar = k m ayudan a mi  :rolleyes: ::)  :rolleyes :::)
En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Un formulario y poder desplazarlo
« Respuesta #5 en: 29 Diciembre 2005, 15:58 pm »

He de decir Sancho.Mazorka que vengo de probar lo que has comentado y...
muchas, muchísimas gracias!!!!, me he quedado muy impresionado...y contentísimo...

 :)


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

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