begin process at 2012 02 12 04:52:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Périphériques

 > FORM MAGNÉTIQUE QUI SE COLLE AU BORDURE DE L'ÉCRAN

FORM MAGNÉTIQUE QUI SE COLLE AU BORDURE DE L'ÉCRAN


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Périphériques Niveau :Débutant Date de création :13/11/2002 Date de mise à jour :13/11/2002 23:53:21 Vu / téléchargé :3 619 / 366

Auteur : cosmic

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cette source vous montre comme il est possible de rendre l'effet de magnétisme, un peu comme winamp pour ceux qui connaissent

Source

  • 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
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

 Conclusion

Pour le moment aucun bug connu. Ca serait sympa que vous puissiez tester le code sous différentes résolution, j'ai les conçu sous  800*600 et normalement fontionne sous toutes les résolutions. merci d'avance pour vos remarques constructives et vos notes...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip SOURIS OU PLUTOT CURSEUR QUI TREMBLE..
Source avec Zip SCANNEUR DE FAILLES UNICODES

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) LIRE ET CHANGER LA LUMINOSITÉ DES ÉCRANS LCD (DE PORTABLE) C... par ShareVB
Source avec Zip Source avec une capture VISUAL BASIC ET MICROPROCESSEUR MBED par ccllee
Source avec Zip Source avec une capture Source .NET (Dotnet) VARIATEUR SECTEUR 11 VOIES SUR PORT SERIE OU USB par mays
Source avec Zip Source avec une capture PILOTER LES PORTS PARALLELES. par djebbipgm
Source avec Zip PILOTER LES PORT COMM DE PC par djebbipgm

Commentaires et avis

Commentaire de DARKSIDIOUS le 14/11/2002 06:44:40 administrateur CS

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

Commentaire de iubito le 14/11/2002 08:10:05

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!

Commentaire de iubito le 14/11/2002 08:10:35

ou alors c'est Orangina secouez-moi pour décoller la pulpe du fond :D

Commentaire de Roro0145 le 14/11/2002 14:00:10

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?

Commentaire de cosmic le 14/11/2002 15:02:36

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.

Commentaire de DARKSIDIOUS le 11/02/2004 10:23:04 administrateur CS

Pour récupèrer les événements souris, utilisez la fonction SetCapture, ainsi on peut intercepter le MouseUp !

DarK Sidious

Commentaire de yoman64 le 23/09/2004 21:47:06

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

Commentaire de alvinp le 10/05/2006 15:06:10

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 ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales