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 :

Ajout d'un bouton dans des fenêtres de rendez-vous d'un planning


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut Ajout d'un bouton dans des fenêtres de rendez-vous d'un planning
    Bonjour à tous,

    Je souhaiterai personnaliser les fenêtres des rendez-vous dans un planning (et non un agenda).
    Pour cela j'utilise la fenêtre interne FI_WinDevVueRDV.
    Elle fonctionne très bien.
    On peut y ajouter des champs comme des Libellés, images, ...
    Et ce gabarit s'affiche pour tous les rendez-vous.

    MAIS,

    Je souhaiterai rendre interactive cette fenêtre de rendez-vous.
    C'est à dire ajouter par exemple un bouton, pour que l'utilisateur puisse cliquer dessus et donc exécuter un ordre (ouverture fenêtre popup par exemple...)
    On peut ajouter ce bouton sur le fenêtre FI_WinDevVueRDV et il s'affiche bien dans chaque rendez-vous dans le planning.

    MAIS on ne peut pas cliquer dessus !!!!

    C'est comme si j'avais pas le focus sur la fenêtre FI_WinDevVueRDV
    Quand je clique sur le rendez-vous, c'est bien le rendez-vous qui se sélectionne, mais je n'accède pas au champs bouton !!

    On dirait que la fenêtre FI_WinDevVueRDV est en quelque sorte un état et non une fenêtre !!!

    Est ce que quelqu'un sait comment faire ??

    J'ai regarder sur Google et forum WinDev, mais rien.
    J'ai même l'impression que je suis le premier à me poser la question...

    Merci d'avance !!

    Cordialement,

    JJacques68

  2. #2
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    je précise que j'ai essayé un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DonneFocus(FI_WinDevVueRDV.BTN_MonBouton)
    me donne une erreur qui dis que le champ n'existe pas.

  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

    Comment as tu intégrer la fenêtre FI_WinDevVueRDV dans ta programmation :
    1. appel directement avec la fonction ouvre :
    2. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Ouvre(FI_WinDevVueRDV,rdvSélectionné)
      ;
    3. intégration dans une fenêtre annexe a celle du planning ;
    4. intégration dans la même fenêtre que celle du planning.


    J'ai effectué un test pour le cas 1 et cela fonctionne, je peux cliquer sur le bouton et son code est exécuté
    ------------------------------------------------------------------------------------------------------------------------------------------
    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
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    alors ok ça progresse, merci !!

    je viens d'utiliser votre ligne de commande, ajouter dans l'évènement sur sélection d'un rendez-vous.

    Par contre je n'aimerai pas qu'une nouvelle fenêtre s'ouvre, mais qu'elle soit accessible dans le planning !

    C'est possible ça ?

  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

    Par contre je n'aimerai pas qu'une nouvelle fenêtre s'ouvre, mais qu'elle soit accessible dans le planning !

    C'est possible ça ?
    Oui, il faut créer un champ de type fenêtre interne. Dans l'onglet général de la description du champ, sélectionner la fenêtre FI_WinDevVueRDV.
    A ce stade, cela ne focntionnera pas, tu auras une erreur à l'exécution car la fenêtre FI_WinDevVueRDV nécessite un paramètre.
    Quelques modifications de programmation et cela devrait être ok, tiens nous au courant.

    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 régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    aie aie !!

    j'ai peur de ne pas comprendre.

    La fenêtre FI_WinDevVueRDV est déjà une fenêtre interne !!

    Il faut que je crée une nouvelle fenêtre interne pour mettre une fenêtre interne dedans ??

    étrange ça...

    Pour l'erreur d'exécution, j'ai connu, il demande en fait l'id du rendez-vous en question.
    On peut le récupérer par la procédure SurSélection du planning.

    Cordialement,

    JJacques68

  7. #7
    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 fenêtre FI_WinDevVueRDV est déjà une fenêtre interne !!

    Il faut que je crée une nouvelle fenêtre interne pour mettre une fenêtre interne dedans ??
    La fenêtre FI_WinDevVueRDV est un élément de ton projet.
    Dans la fenêtre planning tu dois créer un champ Fenêtre interne (un conteneur) qui va contenir la fenêtre FI_WinDevVueRDV

    Nom : FenetreInterne.jpg
Affichages : 1211
Taille : 41,5 Ko

    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

  8. #8
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    ok je comprends mieux, je vais essayer de faire ça,

    je vous tiens au courant,

    merci !!

  9. #9
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    j'ai du mal...

    1. Dans les propriété du planning, onglet général, je laisse la fenêtre interne (FI_WinDevVueRDV ) ?

    2. J'ai créé un champs fenêtre interne dans lequel j'ai sélectionné FI_WinDevVueRDV.

    3. effectivement, lors de l'exécution, j'ai une erreur à cause du passage de paramètre manquant (qui est l'ID du rendez-vous).

    après avoir lu l'aide de WinDev et les forum, ils disent de
    créer une procédure d'initialisation dans la fenêtre interne
    on parle bien de FI_WinDevVueRDV ? et non de la fenêtre conteneur !

    Mais cette procédure d'initialisation existe déjà, c'est la "déclaration globale de FI_WinDevVueRDV" - non ?!

    et impossible d'appeler cette procédure !!

    l'aide de WinDev est assez médiocre sur ce point...

  10. #10
    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


    1. Dans les propriété du planning, onglet général, je laisse la fenêtre interne (FI_WinDevVueRDV ) ?
    Tu peux, à toi de voir comment tu veux que l'utlisateur intéragisse avec ton application.

    2. J'ai créé un champs fenêtre interne dans lequel j'ai sélectionné FI_WinDevVueRDV.
    Bien, Quel nom tu as donné à ce champ. Ce nom ets important car tu en auras besoin

    3. effectivement, lors de l'exécution, j'ai une erreur à cause du passage de paramètre manquant (qui est l'ID du rendez-vous).
    Ok,

    on parle bien de FI_WinDevVueRDV ?
    Oui

    et non de la fenêtre conteneur !
    Je parlerai plus de champ conteneur

    Mais cette procédure d'initialisation existe déjà, c'est la "déclaration globale de FI_WinDevVueRDV" - non ?!
    et impossible d'appeler cette procédure !!
    déclaration globale de FI_WinDevVueRDV est un évènement appelé avant l'affichage de la fenêtre à l'écran, c'est donc normal de ne pas pouvoir faire appel a celui-ci.

    Solution que je mettrai en place, dans la fenêtre interne FI_WinDevVueRDV :
    • créer une procdure locale lproc_init avec comme paramètre une variable de type RendezVous
    • copier le code contenu dans la partie déclaration globale de FI_WinDevVueRDV
    • appel de la procédure lproc_init dans la partie déclaration globale de FI_WinDevVueRDV
    • Ajout d'un paramètre par défaut sur le paramètre de FI_WinDevVueRDV : EvenementOuRDV=Null



    Dans la fenêtre planning, dans le code sélection d'un rendez-vous :
    • appeler la procédure lproc_init de FI_WinDevVueRDV : NomduChampConteneur.lproc_Init(rdv)
    ------------------------------------------------------------------------------------------------------------------------------------------
    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

  11. #11
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    mille merci pour votre patience et votre aide... alors,

    créer une procdure locale lproc_init avec comme paramètre une variable de type RendezVous
    = OK

    copier le code contenu dans la partie déclaration globale de FI_WinDevVueRDV
    = ok

    appel de la procédure lproc_init dans la partie déclaration globale de FI_WinDevVueRDV
    =ok
    j'ai du mettre une variable globale pour passer l'ID du rendez-vous.

    Ajout d'un paramètre par défaut sur le paramètre de FI_WinDevVueRDV : EvenementOuRDV=Null
    alors je sais pas où mettre ça...

    Dans la fenêtre planning, dans le code sélection d'un rendez-vous :
    appeler la procédure lproc_init de FI_WinDevVueRDV : NomduChampConteneur.lproc_Init(rdv)
    = ok et le l'ID du paramètre est
    RESULTAT, pas mal, mais ...

    Ma fenêtre interne apparait là où je l'ai placé dans l'éditeur de fenêtre (au beau milieu du planning)
    Lorsque je clique sur un Rdv, il s'affiche dans la fenêtre interne comme prévu.
    MAIS
    Mes rendez-vous sont tous orange et vide !
    (en vert sur la photo)

    Nom : Sans titre.png
Affichages : 1409
Taille : 61,1 Ko

    Il faudrait que le fenêtre interne se dessine dans chaque Rdv !!!
    et qu'elle se remplisse sans que je clique le Rdv...

    C'est possible du coup ?

  12. #12
    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


    j'ai du mettre une variable globale pour passer l'ID du rendez-vous.
    Non, tu dois utiliser le paramètre de la fenêtre FI_WinDevVueRDV

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE FI_WinDevVueRDV( EvenementOuRDV=Null )
     
    lproc_Init(EvenementOuRDV)

    Ajout d'un paramètre par défaut sur le paramètre de FI_WinDevVueRDV : EvenementOuRDV=Null
    alors je sais pas où mettre ça...
    Partie déclaration globale de FI_WinDevVueRDV

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PROCEDURE FI_WinDevVueRDV( EvenementOuRDV=Null )
    Dans la fenêtre planning, dans le code sélection d'un rendez-vous :
    appeler la procédure lproc_init de FI_WinDevVueRDV : NomduChampConteneur.lproc_Init(rdv)
    = ok et le l'ID du paramètre est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^
    Tu dois mettre ce code au niveau de l'évènement utilisateur avec lequel tu veux intéragir.
    Il faut passer en paramètre une variable de typre RendezVous et pas seulement L'ID.

    Exemple, si tu veux mettre à jour la fenêtre interne lors de la sélection d'un rendez vous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE Sélection(rdvSélectionné est un RendezVous)
     
    FenêtreInterne1.lproc_Init(rdvSélectionné)
    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

  13. #13
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    merci !!

    ok mes rendez-vous s'affiche bien,

    mais le bouton reste inaccessible, comme avant - c'est désespérant...

    Nom : Sans titre.png
Affichages : 1338
Taille : 48,2 Ko

    Vous accéder à votre bouton chez vous ?

  14. #14
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    précision,

    celui de la fenêtre interne en noir est accessible, mais pas celui qui est dans les Rendez-vous même !!

  15. #15
    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
    Oui j'ai accès au bouton, mais la différence c'est que j'ai une seule fenêtre interne d'ouverte.
    Et celle-ci est modifiée quand je sélectionne un rendez-vous dans le planning.
    ------------------------------------------------------------------------------------------------------------------------------------------
    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

  16. #16
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    ah voilà !!!

    c'est bien ce que je me disais...

    donc on peut visiblement pas accéder aux boutons afficher dans tous les rendez-vous...

    bon je vais voir ce que je peux faire avec votre méthode...

    dommage !!

    en tout cas merci pour votre aide.

Discussions similaires

  1. [Débutant] ajouter un bouton dans une fenêtre en mode console
    Par stracoma dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/09/2014, 21h17
  2. Réponses: 1
    Dernier message: 30/10/2013, 20h15
  3. [JTable] ajout d'un bouton dans une colonne
    Par Blast dans le forum Composants
    Réponses: 7
    Dernier message: 15/03/2007, 17h33
  4. Insérer automatiquement des boutons dans des cellules excel
    Par Oaurelius dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2005, 18h38
  5. Comment récupérer la valeur d'un dbGrid dans des fenêtres MDI ?
    Par sylvie cl dans le forum Composants VCL
    Réponses: 5
    Dernier message: 19/07/2005, 13h42

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