begin process at 2012 02 16 11:22:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > [CLASS] RESTREINDRE LE CURSEUR DE LA SOURIS À UNE ZONE DE CONTRÔLE

[CLASS] RESTREINDRE LE CURSEUR DE LA SOURIS À UNE ZONE DE CONTRÔLE


 Information sur la source

Note :
Aucune note
Catégorie :API Classé sous :restreindre, clipcursor, getwindowrect, getdesktopwindow, class Niveau :Débutant Date de création :10/06/2007 Date de mise à jour :11/06/2007 01:29:47 Vu / téléchargé :6 127 / 536

Auteur : mortalino

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Mini Class avec seulement 2 méthodes, qui sert à restreindre le curseur de la souris à une zone de contrôle, par exemple, vous souhaitez que le curseur ne quitte pas la zone d'une ListBox, et vous ne pourrez la quitter qu'en cliquant sur le contrôles.


Bon il n'y a pas beaucoup de lignes de code, mais je pense que ça peut-être utilse à quelqu'un  ;)

Source

  • ' Instance de la classe
  • Private MyRestriction As New clsRestriction
  • ' Restriction sur une ListBox
  • MyRestriction.EnableRestriction List1
  • ' Libération de la restriction
  • MyRestriction.DisableRestriction
' Instance de la classe
Private MyRestriction As New clsRestriction

' Restriction sur une ListBox
MyRestriction.EnableRestriction List1

' Libération de la restriction
MyRestriction.DisableRestriction


 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


 Historique

10 juin 2007 23:48:07 :
*** Suppression variable public pour une propriété en lecture seule *** Libération de l'objet oObject *** Vérification sur l'objet oObject : hWnd ?
11 juin 2007 01:29:47 :
*** Suppression de l'API GetDesktopWindow ... *** ... et pour libérer le curseur : ClipCursor ByVal 0& >>Merci MimiZanzan :p

 Sources du même auteur

Source avec Zip Source avec une capture MIDDLEBUTTON COPYPASTE [ADDIN VB6]
Source avec Zip Source avec une capture [ADD-IN] COMPLÉMENT VB6 POUR CALCULER LE TEMPS D'EXÉCUTION D...
Source avec Zip Source avec une capture COMMONDIALOG AVEC PREVIEW IMAGE [USERCONTROL]
Source avec Zip Source avec une capture SUIVRE LE COURS D'UNE ACTION, POSSIBILITÉ D'AJOUTER LE MONTA...
Source avec Zip Source avec une capture FAIRE UN APERÇU DES APPLIS / FICHIERS OUVERTS DANS UNE FORM ...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source .NET (Dotnet) ASYNC SOCKET par iLgend
Source avec Zip Source avec une capture UNE BOITE DE MESSAGE (MSGBOX) QUI SE PREND POUR UN POPUP par bigfish_le vrai
Source avec Zip Source .NET (Dotnet) ADO.NET SANS DOULEUR par bouv
Source avec Zip Source avec une capture CAPTEUR DE HANDLE, DE TITRE, DE CLASS, DE POSITION DE TAILLE... par Sechaud

Commentaires et avis

Commentaire de mimiZanzan le 11/06/2007 01:20:58

Très simple et très utile, par ex pour aider un utilisateur à remplir un formulaire.Cà me sera en effet très utile.
Je me permets une petite remarque: on peut encore simplifier le code en utilisant seulement "ClipCursor ByVal 0&" pour libérer le curseur dans la sub "DisableRestriction". Celà évite d'utiliser l'API "GetDesktopWindow" et c'est plus rapide que passer par le handle du bureau.
Sinon, encore c'est super, ponds-nous encore qq bons petits codes comme çà!

Commentaire de mortalino le 11/06/2007 01:24:03

Salut MimiZanzan et merci beaucoup pour tes encouragement  ;)

Pas bête du tout l'idée du ByVal 0&, je mets à jour de suite. Effectivement, une fonction d'API en moins :D
Merci encore,
@ bientôt  :p

Commentaire de mortalino le 11/06/2007 05:44:27

Beh je viens de remarquer une chose : ça arrange, ça n'arrange pas, c'est à vous de voir

--> Si une zone est en cours de restriction sur un contrôle, elle s'annule en cas de changement de fenêtre (Alt + Tab) et toute la zone de l'écran est à nouveau disponible !

@++

Commentaire de Renfield le 11/06/2007 09:06:23 administrateur CS

inutile de mettre:

Private Sub Class_Terminate()
    SelectedObjectName = vbNullString
End Sub


mais rien de grave a le laisser...^^

Commentaire de mimiZanzan le 11/06/2007 12:44:59

Mortalino, je voudrais appliquer ton code à un programme Excel VBA.
Sais-tu comment récupérer les handles des contrôles de la form, puisqu'il n'y a pas de propriété Contrôle.Hwnd en VBA?
Merci d'avance.

Commentaire de Renfield le 11/06/2007 12:58:13 administrateur CS

le tout est simplement de connaitre les coordonnées (en pixels) du rectangle dans lequel tu souhaite enfermer le curseur, et ensuite appeler l'API ClipCursor

Commentaire de mimiZanzan le 11/06/2007 18:31:55

Merci RENFIELD, çà marche, à condition de prendre les coordonnées du contrôle en relation avec l'écran ,c'est à dire qu'il faut tenir compte de la position de la form sur l'écran, et bien sûr travailler en pixels.
Pour la position top, il faut également ajouter la valeur de la hauteur da la barre de titre de la form (28 pixels normalement), et si on est puriste, ajouter pour la position left la valeur de l'épaisseur du cadre de la form (2 pixels)...
Merci encore, la solution était plus simple que je le pensais!

Commentaire de mortalino le 11/06/2007 21:04:19

Salut Renfield,

Ok pour le vbNullString.
Par contre, confirme moi stp, j'ai lu plusieurs fois qu'avant de terminer une class, il fallait tout vider (Erase tableau, Set objet = Nothing, et donc mettre les variables à vides).

Est-ce vrai ?
Ou est-ce inutile ici car il n'y a qu'une variable ?

Merci,
@++

Commentaire de Renfield le 11/06/2007 21:58:43 administrateur CS

quand tu sors de ta fonction, que la variable devient hors de portée, un compteur interne a l'objet est décrementé (c'est le nombre de references vers cet objet)
s'il atteint 0, le Class_Terminate est appelé (enfin, son destructeur) et les resources sont libérées.

la mécanique COM est bien en place... nul besoin, de faire Set a = Nothing, donc...
simple habitude a prendre que de libérer les chose dès qu'elles ne servent plus, de savoir ou tu en est... y'a pas de danger a ne pas le faire, vraiment... gaffe avec les handle vers les objets GDI, les references que tu auraient piqué vers ton objet...

pour le tableau, même topo... si ca sert plus, tu vide, raison de plus our bien définir la portée des variables, et de favoriser les parametres aux variables publiques (une bonne architecture facilitera la réutilisabilité du code, et la modification de points précis du code, pour une plus grande maintenabilité...)

Commentaire de mortalino le 11/06/2007 22:03:29

OK! Merci.  ;)

Commentaire de Warny le 12/06/2007 11:02:22

Pour les string, c'est un cas particulier : la variables est un pointeur vers la string qui est désaffecté à chaque affectation de la variable. Je m'explique :
dans le cas
a = "abc"
a pointe vers "abc"
a = "efg"
"abc" est supprimé de la mémoire puis a pointe vers "efg"
donc si tu fais
a = vbnullstring tu affectes une nouvelle valeur vide à a qui devra être désaffectée. En principe c'est nettoyé par le compilateur, mais c'est pas très utile.

Commentaire de pluplu le 12/06/2007 21:26:58

C'est sympa cette class Mortalino, il suffisait d'y penser ! cela permet entre autre d'obliger les utilisateurs à remplir un champ. Merci de nous en faire profiter

Bonne Prog.

Commentaire de Exploreur le 14/06/2007 09:05:50

Salut Mortalino,

Sympa cette source, mais je viens de m'appercevoir d'un truc...je ne sais pas si cela vient de chez moi ou de la source mais voici :

Donc quand je fais restreindre sur n'importe quels contrôles et que par la suite je fait : ALT + F4, le prog se ferme bien mais la souris elle, reste restreint dans le choix que j'ai fait précédement et pour retrouver les joies de la balade de la souris, obliger de faire encore ALT + F4...

Donc je pense cas un moment quand on fait AMT + F4, il y a quelque chose qui reste toujours en "fonction" ou qui n'est pas décharger de l'appli....

Vla...vla...

A+
Exploreur

Commentaire de Renfield le 14/06/2007 09:19:16 administrateur CS

manque un

ClipCursor ByVal 0&

dans le Class_Terminate

Commentaire de Exploreur le 14/06/2007 09:32:27

Salut Renfield,

Impécable.....

A+
Exploreur

Commentaire de mortalino le 14/06/2007 12:25:01

Salut Exploreur,

beh voilà.. (merci Rey)
Effectivement, je n'avais pas pensé à fermer l'application 'avant' de restaurer le curseur.

++

Commentaire de sethlaerce le 08/05/2008 18:06:45

slt man
j 'ai aimé c'est cool et  j t'encourage
ciaoo!

Commentaire de mortalino le 08/05/2008 18:25:09

Salut,

merci  ;)
@++

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

plantage intempestif VB et directx7 [ par ze_bat ] Hello,j'ai développé un petit jeux en directx7 et VB6. J'ai créer une classe missile: qui instancie une frame et un visual dedans (le missile) au clas Web Class [ par CK ] Salut,j'ai du mal à assimiler la notion des web class et leurs manières d'utilisation.si quelqu'un peut me donner quelques explications je le serai re Chargement dynamique [ par couriousous ] Hello!! QQn sait comment charger un controle (Winsock dans mon cas) sans passer par la commande Load(nom(index)) car cela serait pour l'utiliser sur u G LES NERFS : PBS POUR REMPLIR 1 COLLECTION [ par thehitman ] g cree un module de classensuite je lie une table et j'affecte les champs dans mon objet de ma classensuite je veux mettre mes objets dans une collect Bug avec les class en ASP [ par RayBan ] Hello,Microsoft à de nouveaux frappé... Un superbe bug avec IIS 4 et ASP 3. Lors de l'uilisation de class en ASP, l'evénement Class_Terminatet() ne fo restreindre l'acces au PC [ par karn ] je voudrais k'au demarage une fenetre se lance et kon puisse executer uniquement se kil y a dans la fenetre, je suis suis tres clair la.. en fait un p Class sous VB.NET [ par steph95 ] Je m'initie à VB.net (ASP) et j'utilise un script dont certains nom ne sont pas déclaré comme FileStream, FileInfo ... , dans le tutorial, il m'est in convertir BMP en JPG [ par psykokouak ] slt,je cherche le code pour transfomer une serie de bmp dans un répertoire en jpg .. (ou meme envoyé c bmp dans un picturebox pour les transformer de Difference entre MODULE et CLASS [ par minotaure083 ] Bonjour,J'aimerai connaître la difference entre un MODULE et une CLASS.Si vous avez qqs exemples simples ce ne sera pas de refus.... ;-)))Merci


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,997 sec (3)

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