cs_sulliwane
Messages postés12Date d'inscriptionvendredi 29 mai 2009StatutMembreDernière intervention 9 juin 2009
-
3 juin 2009 à 13:39
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 2010
-
9 juin 2009 à 13:47
Bonjour à tous,
je suis confronté à un problème (oh rien de bien méchant, je pense que vous n'en ferez qu'une bouchée ;o)
Je souhaite interdire à la souris de sortir d'un cadre d'un tpanel.
circonstances:
J'ai un timage que je peux déplacer avec la souris. Ainsi, à l'évenement
je déplace l'image dans un panel (le panel est parent de cette image) et je souhaiterais au cours du déplacement, interdir à l'utilisateur de faire sortir la souris du cadre du tpanel.
solution? :
Je suppose donc qu'il faut rajouter un controle sur la position de la souris dans la procedure tform.timagemousemove ...mais laquelle?
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 3 juin 2009 à 14:40
Ah oui, effectivement... En fait SetCursorPos et ClipCursor ne sont pas réservés à Delphi. Ils sont réservés à Windows.
Il faudrait donc plutôt passer par autre part... Peut être que Lazarus propose une fonction toute faite dans sa librairie (On peut rêver).
Sinon je suppose que ton Lazarus utilise GTK en interne pour l'interface graphique. Peut être qu'une fonction GTK fait le boulot.
Et sinon, couche encore plus basse, il reste le X11 qui est la couche de base pour les interfaces graphiques Unix/Linux.
En X11, la fonction pour déplacer le curseur est XWarpPointer. Mais je ne sais pas comment interagir avec la couche X11 depuis Lazarus...
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 8 juin 2009 à 15:42
Moi j'ai ri avec :
j'ai rajouté windows...et là "unit window not find"
Petit zoom :
j'ai rajouté windows...et là "unit window not find"
Allez pour ceux qui ont toujours rien compris : WINDOWS =/= WINDOW
Et pour ceux qui sont en train de ramper de mal de tête à essayer de déchiffrer mon énigme :
WINDOWS prends un S, tu as écrit "WINDOW" c'est pourtant clair comme message ...
cs_sulliwane
Messages postés12Date d'inscriptionvendredi 29 mai 2009StatutMembreDernière intervention 9 juin 2009 9 juin 2009 à 08:29
Merci pour le cours magistrale, je t'ai toujours admiré en secret (pour tes posts tellement intelligents) je n'en suis que plus admiratif en lisant cette réponse constructive (pas besoin de préciser également ta finesse d'esprit, elle brille déjà par son absence).
Bref, donc question destinée au non-troll:
Toujours dans les controles de la souris, je souhaite la faire disparaitre au survol d'un timage.
Pour cela j'ai essayé de faire "timage.cursor:=Crnone" ou même n'importe quel autre type de flèche, rien de ne se passe (la souris n'a pas le moindre soubresaut)
tandis que si je change le type de curseur pour la forme de mon application, le curseur est modifié au survol des zones Tform, et reviens en position normale lorsqu'elle est au dessus d'un bouton ou d'un image...
Avez vous des idées? Je reprécise que je travail sous lazarus (linux), la fonction setcursor ou même showcursor n'est pas trouvée (peut-être est-ce mon UNIT WINDOWS ;o)
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 9 juin 2009 à 09:18
Aucun problème !
"je t'ai toujours admiré en secret (pour tes posts tellement
intelligents)" : remarque que quand je poste, soit c'est pour dire "lis le règlement boulet" ou alors je réponds vraiment à la question. Il m'arrive aussi de me tromper en répondant ce qui ne veux pas dire que je suis un imbécile ^^
"je n'en suis que plus admiratif en lisant cette réponse
constructive" : non, ce n'est pas une réponse constructive, juste j'ai ri en lisant ça, tellement drôle sans le faire expres ^^
"(pas besoin de préciser également ta finesse d'esprit,
elle brille déjà par son absence)." : briller par son absence ... comment ça peut briller si ce n'est pas présent ... aucune idée ^^
Allez bonne journée
ps : crNone et non pas Crnone même si c'est "la même chose" c'est tout de même différent niveau lecture de code. Si tu ne comprends pas la différence, tu as un problème de compréhension du langage.