From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
le 08-26-2015 07:26 AM
Bonjour,
Tout est dans le titre. Je souhaite simplement "effacer" le curseur lorqu'il traverse une zone d'image (soit mon VI).
J'ai cherché dans les propriété de curseur à " visible" mais je n'arrive pas a crer sa référence...
Si quelqu'un a une idée, merci d'avance.
Résolu ! Accéder à la solution.
le 08-26-2015 11:23 AM
le 08-27-2015 02:13 AM
Bonjour,
Merci pour le lien Ouadji, ça pourra peut être me servir un jour à l'occasion.
J'ai juste une remarque à faire concernant ce VI.
Pour ma part, j'encourage vivement les utilisateurs à changer le chemin de la DLL. En effet, dans les appels de code externe, il est fortement déconseillé d'utiliser des chemins absolus pour les appels de DLL native à l'OS.
En effet, cela pourrait engendrer une instabilité du système lors de l'installation de votre programme sur d'autres machines, car l'installeur de labview viendrait alors écraser la dll existante à cette emplacement qu'elle soit plus récente ou non.
Le fait d'utiliser le chemin relatif "User32.dll" dans le noeud d'appel permet de conserver la fonctionnalité, et en cas d'installation, cela viendra chercher la dll existante dans l'OS cible.
Cdt,
Michael
le 08-27-2015 03:02 AM
Ok merci!
Pas d'idée concernant la classe curseur avec sa propriété visible ?
le 08-27-2015 03:33 AM
Pas simple a utiliser la cette fonction de user32.
Je vois pas trop comment je peux faire pour simplement créer un booléen qui l'utilise pour masquer/afficher le curseur.
le 08-27-2015 04:04 AM
Sergreyn a écrit :
Je vois pas trop comment je peux faire pour simplement créer un booléen qui l'utilise pour masquer/afficher le curseur.
le 08-27-2015 06:30 AM
Je suis tributaire du temps. Il faudrait qu'on trouve un moyen de s'affranchir du "return type".
Ici si le return type est supérieur à 1 le curseur restera toujours visible.
08-27-2015 07:22 AM - modifié 08-27-2015 07:25 AM
La fonction ShowCursor possède un compteur.
si l'entrée "show" est à "0", tu décrémentes le compteur.
si l'entrée "show" est à "1" tu incrémentes le compteur.
si le compteur est inférieur à zéro ... le curseur est "hide".
si le compteur est supérieur ou égal à zéro ... le curseur est visible
la sortie "show" est une copie de l'entrée "show"
la sortie "return type" donne la valeur courante du compteur.
Ceci dit ...
Je ne vois pas l'utilité de passer par cette histoire de compteur !!
un simple "on/off" aurait été beaucoup plus facile.
(pourquoi faire simple quand il y a moyen de faire compliqué 😉 )
Mais bon ... cette fonction windows est implémentée de cette façon, il faut s'en accommoder.
le 08-27-2015 07:27 AM
C'est bien ce que j'avais compris.
Du coup je vois pas comment m'en sortir pour transformer ça en simple ON/OFF.
le 08-27-2015 08:39 AM
Pour ma part, je ne comprend pas l'intéret de mettre l'appel à DLL dans une boucle While.
Après test sur mon poste en LV 2014, suite à l'envoi une seule fois de 0 via l'appel, mon curseur devient invisble dans mon VI, tant que je n'ai pas fait une exécution à 1.
Donc il te suffite de faire appel à cette fonction que lors du changement d'état de ton booléen, ainsi le return type n'évoluera pas dans l'intervalle et restera compris entre les valeurs -1 & 0.
Cdt,
Michael