Bouger une form a partir d'un label (sans cadre)

Soyez le premier à donner votre avis sur cette source.

Vue 4 151 fois - Téléchargée 292 fois

Description

Les gros cadre windows gris..c pas beau....
Voici la solution pour ne plus avoir besoin de ce cadre....faites bouger vos formulaire a partir d'un label perso!

Les ingredients :
- un formulaire (form1)
- un module
- et un label (nommé label1)

c parti pour le code>>>>

Source / Exemple :


'***********************************
'** Dans un module, mettez ceci : **
'***********************************

Public Declare Function ReleaseCapture Lib "user32" () As Long
Public 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_SYSCOMMAND = &H112
Public Const WM_MOVE = &HF012

Public Sub FormDrag(TheForm As Form)
    Call ReleaseCapture
    Call SendMessage(TheForm.hWnd, WM_SYSCOMMAND, WM_MOVE, 0)
End Sub

'******************************************
'** Et dans le formulaire, mettez ceci : **
'******************************************
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
FormDrag Me
End Sub

Conclusion :


Voilà..c tres simple !!!

bon bye bon code...!! :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

leptidev
Messages postés
206
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2007
-
Je vois pas ou est la parti de programmation la dedans, c plus une astuce qu'autre chose, n'importe qui peut utiliser les API
cs_IZNOGOOD
Messages postés
3
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
7 mars 2002
-
voila :

Dim drag As Boolean
Dim lX As Long
Dim lY As Long

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
drag = True
lX = X
lY = Y
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not drag Then Exit Sub
Form1.Left = Form1.Left - (lX - X)
Form1.Top = Form1.Top - (lY - Y)
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
drag = False
End Sub

c'est cru, mais ca marche bien dans n'importe quel version de windows 95 +
C une très bonne source, qui fonctionne à merveille sur Win 9X. Je cherche le moyen de faire la même chose sous W2K. Faut changer les constantes ?
ben je te remerci pour cette note...c la première fois que je vois une note comme celle-là dans Vbfrance..

ce truc est exclusivement reservé pour Win9x héhéhé!

10 fois n'est pas de trop quand a chaque les versions sont différentes, c sert pour les débutants !

rien autre a dire sauf que la politesse ça coute rien! :)~
Arreter de mettre 10 fois ce qu'il y a déjà. ça polue VBFrance !!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.