Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DEPLACER UN FORMULAIRE SANS BARRE DE TITRE


Information sur la source

Catégorie :Formulaire Classé sous : déplacer, fenêtre, sendmessage Niveau : Initié Date de création : 22/05/1999 Vu / téléchargé: 6 408 / 315

Note :
9 / 10 - par 6 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


Description

Comment puis-je déplacer mon Formulaire qui n'a pas de Barre de Titre ?

Mettez ce code dans votre Formulaire :
 

Source

  • Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  • Private Declare Sub ReleaseCapture Lib "User32" ()
  • Const WM_NCLBUTTONDOWN = &HA1
  • Const HTCAPTION = 2
  • Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  • Dim ValRetourLng As Long
  • If Button = 1 Then
  • Call ReleaseCapture
  • ValRetourLng = SendMessage(Form1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  • End If
  • End Sub
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Sub ReleaseCapture Lib "User32" ()
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim ValRetourLng As Long
    If Button = 1 Then
        Call ReleaseCapture
        ValRetourLng = SendMessage(Form1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
    End If
End Sub

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de bob3000 le 08/05/2002 00:23:20

Super!!!

signaler à un administrateur
Commentaire de stailer le 24/10/2002 01:17:15

Vala, c'est justement ce que je cherche. Merci.

signaler à un administrateur
Commentaire de Kicolas le 23/11/2002 05:31:39

Super ! C'est exactement ce que je cherchais !!!

signaler à un administrateur
Commentaire de tareumleretour le 16/03/2003 20:44:38

Oui mais if button=2 comment on fait???

signaler à un administrateur
Commentaire de Norram le 08/10/2003 10:51:49

salut
j'aimerais savoir si faut metre ça dans une form
ou ds un module??????


mais bon, c'est exactement ce ke je cherchait!!!!
merci
jen avait déja un exemplaire mais il y avait pleins d'erreurs mais cété pascomme sa !
merci
@+

signaler à un administrateur
Commentaire de Afyn le 03/11/2003 16:11:43

J'ai vu que cette source était au Top des sources les mieux notées.
Je connais pas les critères de notation, mais j'ai vu des sources sur VB France qui mériteraient amplement un meilleur positionnement.

Faut donc relativiser (comme dirait mc²)

A+

Afyn

signaler à un administrateur
Commentaire de Nicoxs le 16/01/2007 19:15:57

Surtout qu'il s'agit d'une source microsoft :) : http://support.microsoft.com/kb/173773/fr

signaler à un administrateur
Commentaire de gloomy64 le 19/01/2008 22:44:44

'Dans un module

Private Declare Function SendMessageA Lib "User32" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub ReleaseCapture Lib "User32"()

Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Function MoveForm(Who As Form)
    Call ReleaseCapture
    ValRetourLng = SendMessageA(Who.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub

'Dans une Form
Private sub Form_Load()
    MoveForm Me
End Sub

signaler à un administrateur
Commentaire de Renfield le 20/01/2008 09:15:01 administrateur CS

c'est un code standard, Gloomy64
néanmoins, j'y décèle quelques indélicatesses.

ValRetourLng  n'est pas déclaré (pas d'utilisation de l'Option Explicit ?)

ValRetourLng  ne sert de toutes facon a rien puisqu'il n'est ni testé, ni renvoyé

MoveForm est une fonction de type Variant (pas de type définit)... et qui ne renvoie rien...

tu transmets à un parametre d'API définit en ByRef As Any la valeur 0& ... donnes lui plutot ByVal 0& si tu ne veux pas crasher un jour ou l'autre ton application.

tu demandes le MoveForm dans le _Load ????
pourquoi ne pas utiliser l'evenemtn adéquat (MouseDown, par exemple)

je n'ai pas compris pourquoi tu as posté...
je sais que tu n'as fait que remanier le code de Nix, qui n''est pas terrible, terrible, mais le poids des années est là !

signaler à un administrateur
Commentaire de gloomy64 le 22/01/2008 23:40:07

Honnetement, j'avous que le code est très mauvais... et au départ c'étais pour un pote que je l'avais postée... qui la repris d'ailleurs... desolès, j'suis un peu surcharger ces temps et je fais un peu n'importe quoi, enfin Renfield, merci de pas etre trop mechant avec moi, de quand meme corriger mon code et j'promets de faire mieux la prochaine fois.

signaler à un administrateur
Commentaire de Renfield le 22/01/2008 23:55:11 administrateur CS

ravi de l'entendre ^^

signaler à un administrateur
Commentaire de djgab21 le 01/03/2009 14:38:32 9/10

Parfait ! C'est ce qu'il me fallait !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Déplacer une fenêtre [ par Norram ] j'ai créé un programme pour ouvrir des images et la 'borderform' de ma form principaale est 'none'j'aimerais savoir le code pour pouvoir la dépacer a Déplacer une feuille sans bordure (borderstyle=0) [ par crameur ] J'utilise la fonction SendMessage pour déplacer ma feuille sur l'écran, mais voila est t il possible de la déplacer que dans une région particulière d Entrer des infos dans une textebox d'une fenêtre d'une application [ par whitelegend ] Salut,Ce message fait suite à ce sujet http://www.vbfrance.com/infomsg.aspx?ID=126037.Je lance donc un fichier pdf à partir de ma commande "process.st Afficher la fenêtre heure système [ par faucheuse ] Bonjour amis programmeurs et programmeuzes,Je me demandais si il était possible d'afficher la fenêtre de l'heure système (avec l'horloge et tout et to Fonction Wait ou Waitcallback en vb.net? [ par Janfi57 ] Bonjour,je suis actuellement en train de développer un programme en vb.net avec Visual Studio 2008 Pro. J'ai un petit problème, je voudrais utiliser u Utilisation de DoEvents pour reprendre la main sur une appli VB [ par rol64 ] Salut tout le monde!!J'ai un petit souci avec une application VB que je suis en train de développer, dont le but est de répéter une séquence de raccou Réduction de l'intérieur d'une fenêtre webbrowser ? et changement background image en fonction de menustrip. [ par latouffe58 ] Salut A tous J'expose mon problème, est-il possible de varier la taille d'une fenêtre webbro Empêcher le déplacement d'une fenêtre ainsi que le redimenssionnement [ par Triboutmatthieu ] Bonjour, je voudrais savoir si il est possible de sceller une fenêtre? J'arrive à faire en sorte qu'on ne puisse pas la redimenssionner avec le curseu changement de fenetre [ par aurel16 ] Bonjour,Dans mon application, j'ai deux fenêtres. Une première se charge pour demander des informations à l'utilisateur et via un bouton et ce code : Qules problèmes pour l'utilisation de certaines API's sous VBA [ par inforom ] Bonjour à tous....J'ai déja posté quelques messages retraçant mes difficultés concernanbt l'utilisation des API's dan sVBA (EXCEL).Mon pb de départ: f


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,671 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.