Bonjour,
je ne veux pas que le pointeur de la souris dépasse les bordures de mon logiciel... comment faire ?
merci!
Bonjour,
je ne veux pas que le pointeur de la souris dépasse les bordures de mon logiciel... comment faire ?
merci!
Toi, tu participes au défi...Envoyé par MarKo04
Avec la fonction de l'API Windows ClipCusor, c'est faisable :
Exemples d'utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure RestreindreSouris(AControl:TControl); var ARect: TRect; begin if AControl<>nil then begin { Convertir les coordonnées de la fiche avec elles de l'écran } With AControl do begin ARect.TopLeft:= ClientToScreen(ClientRect.TopLeft); ARect.BottomRight:= ClientToScreen(ClientRect.BottomRight); end; // Limite le déplacement de la souris à la zone Client du contrôle. ClipCursor(@ARect); end else ClipCursor(nil); end;
Restreindre la souris à un Bouton
A la Fiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part RestreindreSouris(Button4);
Libérer la souris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part RestreindreSouris(Form1);
Bon dev
Code : Sélectionner tout - Visualiser dans une fenêtre à part RestreindreSouris(nil);
Merci Bcp... Non je ne participais pas :p
Shu encore capable de sortir le pointeur de la souris a l'extérieur de la form!
Ha ?Envoyé par MarKo04
Moi non
Edit : ha oui, si la fiche est prêt de la barre des tâches... flute...
Salut,
En utilisant OnMouseMove et en testant la position du curseur tu dois bien pouvoir arriver à quelque chose assez facilement non ? C'est sûr c'est moin joli que la methode à waskol mais bon tant que sa marche...
Le code avec RestreindreSouris, tu l'as mis où ?Envoyé par MarKo04
En fait, windows semble désactiver la restriction dès qu'une nouvelle fenêtre ou un menu apparait.
donc si tu arrives à confiner le curseur, et que tu appuies sur la touche windows, ton confinement disparait.
Si tu met le code dans le OnCreate ou le OnShow, celà fonctionne bien jusqu'à ce que la fiche devienne visible...
Donc pour contourner le problême, il faut mettre le code dans un évènement qui a lieu APRES que la fiche soit visible : dans le OnActivate par exemple.
Bref, c'est pas mon code qui ne marche pas, c'est Windows, non mais !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager