Private Type Ecran X As Integer Y As Integer End Type Private Function get_Res() As Ecran get_Res.X = Screen.Width \ Screen.TwipsPerPixelX get_Res.Y = Screen.Height \ Screen.TwipsPerPixelY End Function Private Sub form_load() Timer1.Interval = 1 End Sub 'détermine la position la position de la form tous les x secondes Private Sub Timer1_Timer() If Form1.Top < 480 Then '480 est une mesure en twip Form1.Top = 0 'colle la form contre la bordure du haut End If If Form1.Top > (((get_Res.Y * 15) - Form1.Height) - 800) Then '*15 signifie que je multiplie la largeur de l'écran (mesure en twip) que je multiplie par 15 pour avoir la mesure en pixels Form1.Top = (((get_Res.Y * 15) - Form1.Height) - (420)) 'colle la form contre la barre des taches End If If Form1.Left > (((get_Res.X * 15) - Form1.Width) - 480) Then Form1.Left = ((get_Res.X * 15) - Form1.Width) 'colle la form contre la bordure de droite End If If Form1.Left < 480 Then Form1.Left = 0 'colle la form contre la bordure de gauche End If End Sub
Télécharger le zip
C'est dommage que l'on voit beaucoup de source de ce style sur le site... Mais sinon, c'est très bien fait, et surtout, bin commenté, bravo. 9/10 DARK SIDIOUS
1. ça prend en compte la barre des tâches même si elle est en invisible (et n'apparaît que kan on met la souris en bas). 2. très grave !!!:(((((( il faut faire le déplacement une fois que la souris est lachée !!!!!!!!! Tu fais le déplacement à chaque mouvement de souris et kan on garde la souris enfoncée et kon déplace, c horrible! on dirait que l'ordinateur à un Parkinson!
ou alors c'est Orangina secouez-moi pour décoller la pulpe du fond :D
Le prog de cosmic est interessant en ce sens qu'il amène à se poser la question proposée par iubito. Comment faire pour que le repositionnement de la fenêtre au bord de l'écran n'intervienne que lorsqu'on relâche la souris? Pas si simple car il faut pouvoir intercepter les messages de Form1. En effet, VB ne propose pas de fonction directe pour gérer les événements souris se produisant sur la barre de titre (du moins, pas à ma connaissance). Quelqu'un sait-il faire cela?
iubito a fait une remarque interressente. Je n'ai pas pensé a la barre des taches, je vais essayer de remédier a se problème. J'espère faire une mise a jour très bientôt... Merci pour vos commentaire...je ne suis qu'un débutant et je suis assez content de voir au moment ou j'écrit ce message il y a 133 affichage. merci a tous pour vitre intéret.
Pour récupèrer les événements souris, utilisez la fonction SetCapture, ainsi on peut intercepter le MouseUp ! DarK Sidious
personne n'a une idee de comment faire un truc parfait comme winamp ? Qui se colle au autre fenetre et a la barre des tache quand elle est plus grande que la normale, etc... @++ YoMan64 PhPKoDe.Com
Rajoute une petite condition pour ne pas avoir de bug quand tu agrandit au maximum la fenêtre :: If Me.Top > 5 And Me.Left > 5 Then If Me.Top < 480 Then Me.Top = 0 End If If Me.Top > (((get_Res.Y * 15) - Me.Height) - 800) Then Me.Top = (((get_Res.Y * 15) - Me.Height) - (420)) End If If Me.Left > (((get_Res.X * 15) - Me.Width) - 480) Then Me.Left = ((get_Res.X * 15) - Me.Width) End If If Me.Left < 480 Then Me.Left = 0 End If End If Je trouve que c'est mieu comme sa ;)
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 873 729 membres 25 nouveaux aujourd'hui 16 151 membres club