IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Connaitre l'image sélectionnée à l'écran [WD18]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut Connaitre l'image sélectionnée à l'écran
    Bonjour,

    J'ai placé plusieurs composants images sur un écran.

    J'ai fait un menu contextuel commun pour les remplir selon mon choix.

    Je souhaiterais savoir comment connaitre le composant image selectionné à l'écran lors du click droit afin de pouvoir remplir le composant image correspondant à mon choix ?


    Merci de vos réponses

    Philippe

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Salut philippe

    Peux-tu nous donner un peu plus de détails?

    Que veux-tu dire par Composant Image?
    Quelles-sont les choix de ton menu contextuel?

    @+

  3. #3
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour


    La première idée qui me vient est de passer par une variable globale qui serait initialiser lors du clic droit sur l'image.

    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut Compléments informations
    J'ai placé 5 images sur un écran , numéroté de 1 à 5 sous le nom img_sansnom1 etc ...

    Mon menu contextuel est le même pour ces 5 images

    Lorsque je fais un click droit sur l'image 2 par exemple , je voudrais remplir cette image avec le fichier image2.gif et placer cette image dans img_sansnom2

    Pour cela je dois savoir dans quelle img_sansnom j'ai fait le clic droit

    Voila mon problème

    Philippe

  5. #5
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour,

    Je ne comprend pas le rôle du menu contextuel.

    1. Récupérer l'indice du champ image cliquer (1,2,3, ...) : utiliser la propriété ..nom, fonction droite(), ...
    2. initialiser le champ image avec le gif correpondant : indirection



    Bon dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Salut philippe

    Pour connaître le champ en cours utilise ce code

    Code Windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     //Ceci te permet de savoir le numéro au bout de ton nom de champ (..nom)
    num est un entier = Droite(MoiMême..Nom,1)
     
    //Si tu utilise un extention du genre img_sansnom_ABC, procède comme ceci
    num = ExtraitChaîne(MoiMême..Nom,1,"img_sansnom_",DepuisFin)


    Pour attribué ta nouvelle image à ton champ en cours, utilise ceci

    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"img_sansnom"+nUm} = //Chemin du fichier ou variable ou autre champ image

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut trouver le nom du champ
    Le menu contextuel permet de sélectionner une image .GIF dans une liste pré définie.

    En fonction de l'image img_sansnom ou je me trouve ( 1 à 5 ) , je fais un clic droit sur une des images à l'écran et ensuite je choisis une image GIF à partir du menu contextuel.

    Le menu contextuel est le même pour mes 5 images.

    Il faut à partir du clic droit savoir dans quel image img_sansnom je me trouve afin de pouvoir ensuite affecter à cette img_sansnom l'image choisi dans le menu contextuel.

    Ca ne fonctionne pas avec champ..nom dans le menu contextuel.

    Il faudrait savoir ou le focus se trouve ce qui correspondrait à l'image ou je me trouve dans l'écran , j'a iregardé du coté de focus mais je n'ai pas trouvé d'instruction remontant ou se trouve le focus lors de l'appel avec le clic droit

    Philippe

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Dans le code de l'image sous "Bouton droit relaché", va récupérer le nom de ton champ.

    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     //Ceci te permet de savoir le numéro au bout de ton nom de champ (..nom)
    num est un entier = Droite(MoiMême..Nom,1)
     
    //Si tu utilise un extention du genre img_sansnom_ABC, procède comme ceci
    num = ExtraitChaîne(MoiMême..Nom,1,"img_sansnom_",DepuisFin)


    Tu peux enregistrer Num en variable globale de ta fenêtre donc tu aura accès au nom de ton dernier champ depuis n'importe où.

    Pour chaque ligne de ton menu, enregistre en variable le chemin de ton image. Lorsque que tu clique sur une des lignes, tu applique la variable comportant le chemin de ton fichier à ton champ image.


    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CheminImage est une chaine = "C:\MesImages\Image1.gif"
    {"img_sansnom"+nUm} = CheminImage


    Espérant t'avoir aidé

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut
    Merci Gabcouture

    J'avançais sur le même type de solution avec le clic droit relaché qui alimentais une variable me permettant de savoir d'où je venais.

    C'est exactement ce que tu m'as indiqué de ton coté

    Merci , je vais utiliser ton code pour la suite

    Philippe

  10. #10
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Parfait !

    N'oublie pas de passer la discussion en résolue

    Bon dev

  11. #11
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Dans le code de l'évènement "Affichage du menu contextuel" des champs images tu mémorises le champ survolé avec la fonction ChampSurvol() dans une variable globale à ta fenêtre

    Comme ça, dans ton menu contextuel tu sais sur sur quel champ tu as ouvert le menu

    On peut aussi faire ça de manière plus générale en posant un évènement sur la fenêtre, ça évitera de coder dans chaque champ image

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2002
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2002
    Messages : 231
    Points : 116
    Points
    116
    Par défaut
    Ma solution fonctionne mais si je peux optimiser c'est bien mieux

    Merci Pascal , Je vais regarder.

    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/10/2008, 14h50
  2. Afficher une image sur un écran 3D.
    Par pan99 dans le forum 3D
    Réponses: 1
    Dernier message: 16/04/2007, 13h48
  3. Réponses: 3
    Dernier message: 23/06/2006, 12h15
  4. [Hardware] Image fantôme sur écran CRT
    Par Oui-Oui MB dans le forum Périphériques
    Réponses: 6
    Dernier message: 21/12/2005, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo