[class] restreindre le curseur de la souris à une zone de contrôle

Soyez le premier à donner votre avis sur cette source.

Vue 7 302 fois - Téléchargée 649 fois

Description

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 / Exemple :


' Instance de la classe
Private MyRestriction As New clsRestriction

' Restriction sur une ListBox
MyRestriction.EnableRestriction List1

' Libération de la restriction
MyRestriction.DisableRestriction

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

mimiZanzan
Messages postés
309
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017
-
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 çà!
mortalino
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16 -
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
mortalino
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16 -
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 !

@++
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
inutile de mettre:

Private Sub Class_Terminate()
SelectedObjectName = vbNullString
End Sub


mais rien de grave a le laisser...^^
mimiZanzan
Messages postés
309
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017
-
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.

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.