|
| Curseur de souris et fenêtre interne : comment faire ? |
| Iniciado por Christophe PRADEL, 15,feb. 2018 17:10 - 11 respuestas |
| |
| | | |
|
| |
Miembro registrado 139 mensajes |
|
| Publicado el 15,febrero 2018 - 17:10 |
Bonjour,
Je viens de programmer avec succès le déplacement du contenu d'un champ fenêtre interne par "agrippement" du fond de fenêtre et déplacement à la souris
Pour parfaire la fonctionnalité et indiquer à l'utilisateur qu'il peut faire ainsi glisser le contenu, je voudrais changer le curseur de souris en une main (curMain) au survol du champ fenêtre interne.
Or, la propriété CurseurSouris n'existe ni sur le champ fenêtre interne, ni au niveau de la fenêtre interne elle-même !
Quelqu'un connaîtrait-il une astuce pour arriver à ce résultat ?
Merci |
| |
| |
| | | |
|
| | |
| |
| Publicado el 03,octubre 2020 - 08:54 |
Bonjour Christophe,
Je cherche à déplacer une fenêtre interne par le fond, par agrippement, et je suis tombé sur ton post. Peux-tu stp partager ton code ou me donner une piste sur la manière que tu as utilisé ?
As-tu également trouvé une solution pour le changement de curseur ? Ce j'ai testé de mon côté n'est pas satisfaisant.
Merci Nicolas |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 139 mensajes |
|
| Publicado el 05,octubre 2020 - 09:29 |
Bonjour Nicolas Ce post étant un peu ancien, impossible de remettre al main sur le code concerné. A vrai dire, je ne me rappelle même pas dans quelles circonstance j'en avais eu besoin. Si je trouve quelque chose, je reposterai ici |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.365 mensajes |
|
| Publicado el 05,octubre 2020 - 10:02 |
Bonjour, Une idée serait d'ajouter une procédure à ton CFI et de l'appeler grâce à l’événement "Survol"
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 170 mensajes |
|
| Publicado el 05,octubre 2020 - 12:33 |
Bonjour,-Nicolas ROUX a écrit :
Je cherche à déplacer une fenêtre interne par le fond, par agrippement, ...
Qu'entends-tu par là ?
Dans quoi est intégrée ta FI ? Est-elle le seul contenu d'une fenêtre ou fait-elle parti d'une fenêtre qui contient d'autres champs ?
Dans le premier cas, tu dois savoir qu'il suffit de définir la propriété "Déplacement par le fond" dans la fenêtre sept onglet de la fenêtre contenante.
Dans le second cas, j'aimerai bien savoir ce que tu comptes faire avec les autre champs de ta fenêtre.
En d'autres termes :
Christophe PRADEL a écrit :
... dans quelles circonstance en as-tu besoin...
-- Hth, Padbrain |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 139 mensajes |
|
| Publicado el 05,octubre 2020 - 13:52 |
Voici une Solution pour déplacer par le fond une fenetre interne contenue dans un champ fenêtre interne plus petit qu'elle .
Dans le code de la fenêtre interne :
1/ déclarations globales de la fenêtre interne :
gnPosXInitial est un entier gnPosYInitial est un entier gnSourisPosXInitial est un entier gnSourisPosYInitial est un entier gbDeplacementEncours est un booléen
2/ Dans l'évènement "Bouton gauche enfoncé" de la fenêtre interne :
gbDeplacementEncours = Vrai
gnPosXInitial = AscenseurPosition(MaFenêtreInterne,ascHorz) gnPosYInitial = AscenseurPosition(MaFenêtreInterne,ascVert) gnSourisPosXInitial = SourisPosX(spFenêtre) gnSourisPosYInitial = SourisPosY(spFenêtre)
3/ Dans l'évènement "Bouton gauche relaché" de la fenêtre interne :
gbDeplacementEncours = Faux
4/ Dans l'évènement "Survol souris" de la fenêtre interne :
SI gbDeplacementEncours ALORS nSourisPosX est un entier = SourisPosX(spFenêtre) nSourisPosY est un entier = SourisPosY(spFenêtre) AscenseurPosition(MaFenêtreInterne,ascHorz, gnPosXInitial + (gnSourisPosXInitial - nSourisPosX)) AscenseurPosition(MaFenêtreInterne,ascVert, gnPosYInitial + (gnSourisPosYInitial - nSourisPosY)) FIN
Par contre, pour que ça marche, il faut que l'option "ascenseur automatique" soit cochée dans la description du champ fenêtre interne (tu peux alors essayer de rendre l'ascenseur invisible en travaillant sur le style de l'ascenseur |
| |
| |
| | | |
|
| | |
| |
| Publicado el 05,octubre 2020 - 15:46 |
Christophe PRADEL a écrit :
Voici une Solution pour déplacer par le fond une fenetre interne contenue dans un champ fenêtre interne plus petit qu'elle . Dans le code de la fenêtre interne : 1/ déclarations globales de la fenêtre interne : gnPosXInitial est un entier gnPosYInitial est un entier gnSourisPosXInitial est un entier gnSourisPosYInitial est un entier gbDeplacementEncours est un booléen 2/ Dans l'évènement "Bouton gauche enfoncé" de la fenêtre interne : gbDeplacementEncours = Vrai
gnPosXInitial = AscenseurPosition(MaFenêtreInterne,ascHorz) gnPosYInitial = AscenseurPosition(MaFenêtreInterne,ascVert) gnSourisPosXInitial = SourisPosX(spFenêtre) gnSourisPosYInitial = SourisPosY(spFenêtre) 3/ Dans l'évènement "Bouton gauche relaché" de la fenêtre interne : gbDeplacementEncours = Faux 4/ Dans l'évènement "Survol souris" de la fenêtre interne : SI gbDeplacementEncours ALORS nSourisPosX est un entier = SourisPosX(spFenêtre) nSourisPosY est un entier = SourisPosY(spFenêtre) AscenseurPosition(MaFenêtreInterne,ascHorz, gnPosXInitial + (gnSourisPosXInitial - nSourisPosX)) AscenseurPosition(MaFenêtreInterne,ascVert, gnPosYInitial + (gnSourisPosYInitial - nSourisPosY)) FIN Par contre, pour que ça marche, il faut que l'option "ascenseur automatique" soit cochée dans la description du champ fenêtre interne (tu peux alors essayer de rendre l'ascenseur invisible en travaillant sur le style de l'ascenseur
Merci pour ta réponse Christophe, c'est sympa !
Bonne journée |
| |
| |
| | | |
|
| | |
| |
| Publicado el 05,octubre 2020 - 15:53 |
@Paidrain : je suis surpris que dans ton message tu cites Christophe en modifiant son texte : il n'a pas écrit "dans quelles circonstance en as-tu besoin" mais "dans quelles circonstance j'en avais eu besoin".
En l'occurrence Christophe a bien compris ma demande, pas de souci.
Ceci couplé au ton inamical de ton message, j'en déduis que tu tentes un troll sur le mode "il faut mieux décrire votre besoin, patati patata".
Pas besoin de me répondre donc, je me passe volontiers de ton "aide", merci |
| |
| |
| | | |
|
| | |
| |
| Publicado el 05,octubre 2020 - 15:58 |
Merci @Voroltinquo
Malheureusement pas d'évènement survol pour le champ CFI.
Il y a bien la fonction ChampSurvol, que j'allais justement indiquer dans le fil. Mais je dois aussi compiler en java, et pas dispo...
Pas trop grave pour moi, c'était du fine tuning.
A+ |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 170 mensajes |
|
| Publicado el 05,octubre 2020 - 17:19 |
Nicolas ROUX a écrit :
@Paidrain : je suis surpris que dans ton message tu cites Christophe en modifiant son texte : il n'a pas écrit "dans quelles circonstance en as-tu besoin" mais "dans quelles circonstance j'en avais eu besoin".
En l'occurrence Christophe a bien compris ma demande, pas de souci.
Ceci couplé au ton inamical de ton message, j'en déduis que tu tentes un troll sur le mode "il faut mieux décrire votre besoin, patati patata".
Pas besoin de me répondre donc, je me passe volontiers de ton "aide", merci
Je te répond tout de même car je ne vois pas quel ton inamical j'ai bien pu employer !
Je me pose juste quelques questions dont je te fais part afin d'orienter le débat de manière à aider au mieux. Bien sur, si tu ne veux pas de mon aide, je tâcherai de m'en souvenir.
Concernant la citation que je fais du message de Christophe, j'ai simplement modifié légèrement sa phrase afin que sa citation s'adresse à toi et ai du sens.
Ceci était donc une vrai question, et non un troll, car je ne voyait pas dans quelle circonstance on pouvait avoir ce besoin.
En effet, si l'on veut des réponses pertinentes, il VAUT mieux décrire son besoin correctement afin que les différents intervenants ne perdent pas leur temps à le deviner.
Heureusement pour toi, et pour nous tous, que Christophe a pu retrouver ces quelques lignes de codes et que, PAR CHANCE, cela corresponde à ton besoin.
Bonne soirée.
Padbrain (et non Paidrain)
-- Hth, Padbrain |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 139 mensajes |
|
| Publicado el 05,octubre 2020 - 17:28 |
Rebonjour Nicolas,
Quand je parle d’événement Survol de souris, c'est sur la fenêtre interne (FI) et non sur le champ Fenêtre Interne (CFI) Tout le code que je t'ai reporté vient exclusivement de la FI
La seule chose qui concerne le champ fenêtre interne, c'est , dans sa description, l'option "ascenseurs automatiques" à cocher.
J'ai fait un test qui fonctionne avec WD25
Bon dev' Christophe |
| |
| |
| | | |
|
| | |
| |
| Publicado el 06,octubre 2020 - 15:30 |
Merci Christophe
Bonne journée |
| |
| |
| | | |
|
| | | | |
| | |
|