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

Langage Delphi Discussion :

[Participez à la FAQ !] La question de la semaine


Sujet :

Langage Delphi

  1. #1
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2003
    Messages : 3 830
    Points : 4 004
    Points
    4 004
    Par défaut [Participez à la FAQ !] La question de la semaine
    Pour ceux que cela intéresse, nous vous invitons à une participation ludique pour la FAQ Delphi. Voici les règles du jeu :
    • l'équipe de la FAQ Delphi vous soumet une question sur un sujet particulier,
    • vous nous proposez une solution si possible commentée en gardant à l'esprit qu'une FAQ se veut être des réponses simples et précises à des problèmes récurrents,
    • les réponses sélectionnées seront celles qui sont les plus rapides autant au niveau développement qu'exécution,
    • une seule réponse sera sélectionnée par question puis intégrée à la FAQ avec le nom du contributeur.


    C'est parti !

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 161
    Points : 15 047
    Points
    15 047
    Billets dans le blog
    1
    Par défaut
    Merci à Portu, Hauwke et lil_jam63 pour leur contribution à la question précédente Comment ajouter un item dans le menu système de windows ?

    Pour cette semaine :

    Comment créer un menu Popup dans un menu Popup ?
    Les réponses sont postées à la suite de ce message.


  3. #3
    Membre averti
    Avatar de Hauwke
    Inscrit en
    septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 329
    Points : 393
    Points
    393
    Par défaut
    Bonjour,
    Pour ouvrir le bal...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Var
    pt:Tpoint;
    begin
    pt:=pp1.PopupPoint;// recup position du popup n° 1
    pp2.Popup(pt.X, pt.Y);// affichage du popup n° 2 en lieu et place du popup n°1
    end;
    y'a des effets de bords, notemment lors du permier click droit, c'est le popup n°2 qui s'affiche et c'est seulement au second click droit que les choses s'arrangent mais ça peut donner des idées...
    Quand à trackpopupmenu() ça fonctionne carrément pas chez moi
    Cordialement,
    Hauwke

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2002
    Messages : 1 085
    Points : 916
    Points
    916
    Par défaut
    Bonjour,
    Heu juste par curiosité, A quoi peux servir cette technique ? Il y a les sous-Item pour ca ! ou alors, je n'ai pas très bien compris la question

  5. #5
    Membre éprouvé Avatar de Caine
    Inscrit en
    mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : mai 2004
    Messages : 1 028
    Points : 1 121
    Points
    1 121
    Par défaut
    En utilisant NewPopupMenu.
    Ce n'est pas un code d'expert, mais ça marche. Par contre, autre question: Comment le faire apparaître à côté du menu courant?

    Dans l'évènement OnPopup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm1.PopupMenu2Popup(Sender: TObject);
    var mPopup: TPopupMenu;
    begin
         mPopup := NewPopupMenu(Sender as TComponent,'mPopup',paLeft,true,[NewItem('Popup inside', TShortCut(nil),False, True, nil, 0, 'Item1')]);
         mPopup.Popup(150,150);
    end;
    Pour Hauwke, tu es dans quel évènement là?

  6. #6
    Membre averti
    Avatar de Hauwke
    Inscrit en
    septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 329
    Points : 393
    Points
    393
    Par défaut
    Citation Envoyé par Caine
    Pour Hauwke, tu es dans quel évènement là?
    Je suis dans l'événement Onclick d'un item du popup n°1. La question relevant plus de la perversion que du vice je me suis dit qu'il fallait un item vicelard pour nécessité l'emploi d'un tel truc...

  7. #7
    Membre éprouvé Avatar de Caine
    Inscrit en
    mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : mai 2004
    Messages : 1 028
    Points : 1 121
    Points
    1 121
    Par défaut
    C'est étrange, car PopupPoint est protégé. Je ne l'ai pas dans mon event. Enfin, je suis en version D5, c'est peut être pour ça.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2002
    Messages : 1 085
    Points : 916
    Points
    916
    Par défaut
    Toujours personne pour m'expliquer

  9. #9
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 161
    Points : 15 047
    Points
    15 047
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par portu
    Bonjour,
    Heu juste par curiosité, A quoi peux servir cette technique ? Il y a les sous-Item pour ca !
    Oui effectivement c'est pas très courant comme approche. L'équipe de la FAQ dispose d'une liste de questions qui ont été posées sur le forum sans avoir eu de réponse, celle-ci n'est peut être pas très pertinente .

  10. #10
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2004
    Messages : 4 517
    Points : 10 144
    Points
    10 144
    Par défaut
    Si il y a une bonne raison : ouvrez donc Word, déroulez le menu et cliquez droit sur un item : vous avez un pop-up menu pour l'élément de menu, qui permet essentiellement de le personnaliser.
    C'est donc bien pour agir sur l'élément lui-même et non sur ses fonctionnalités, donc c'est parfaitement logique
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2002
    Messages : 1 085
    Points : 916
    Points
    916
    Par défaut
    Citation Envoyé par sjrd
    Si il y a une bonne raison : ouvrez donc Word, déroulez le menu et cliquez droit sur un item : vous avez un pop-up menu pour l'élément de menu, qui permet essentiellement de le personnaliser.
    C'est donc bien pour agir sur l'élément lui-même et non sur ses fonctionnalités, donc c'est parfaitement logique
    AU risque de paraître encore chiant : J'ai beau cliquer droit sur les items du main menu de Word et le popup de la page sans pour autant avoir ce que tu viens de dire.

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 161
    Points : 15 047
    Points
    15 047
    Billets dans le blog
    1
    Par défaut
    Le seul endroit possible c'est le nom du menu primaire, par exemple le clic droit sur 'Fichier' permet de sélectionner les barres d'outils.

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2002
    Messages : 1 085
    Points : 916
    Points
    916
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Le seul endroit possible c'est le nom du menu primaire, par exemple le clic droit sur 'Fichier' permet de sélectionner les barres d'outils.
    Tout à fait ! Je dirai aussi que ce popup est non pas lié au MainMenu mais aux toolbars.

  14. #14
    Membre averti
    Avatar de Hauwke
    Inscrit en
    septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 329
    Points : 393
    Points
    393
    Par défaut
    Bonsoir,
    Citation Envoyé par Caine
    C'est étrange, car PopupPoint est protégé. Je ne l'ai pas dans mon event. Enfin, je suis en version D5, c'est peut être pour ça.
    Elle ne l'est, apparemment, plus avec D2005 Architect
    Citation Envoyé par portu
    J'ai beau cliquer droit sur les items du main menu de Word et le popup de la page sans pour autant avoir ce que tu viens de dire.
    Idem pour moi et même si j'aime bien la "question de la semaine" que je prends un peu comme un jeu de l'esprit ( cela dit en passant, il pourrait réellement en devenir un à offrir au forum, why not?) il faut reconnaître que certaines questions sont plus à remiser à la rubrique "Curiosités" que "FAQ".
    Mon avis personnel, au delà du jeu, est que la FAQ est l'un des premiers points de passage des nouveaux. A chaque fois que l'occasion se présente il ne manque pas un membre chevronné pour rappeler aux débutants qu'il leur faut avoir des IHM propres, des menus avec options bien claires et des codes qui respectent les 1001 règles de nommages, aussi peut être conviendrait-il d'ouvrir une rubrique "Curiosités et recettes de cuisines" sous couvert de laquelle il serait permis de faire des "expériences" ou bien d'avoir quelques jolis défis de prog du style "faire couver un œuf d'autruche à Delphi 5 en moins de 100 lignes de code" (oui, je sais cela a déjà été fait, j'ai vu tourner le soft chez un agriculteur!) et ainsi de laisser la FAQ répondre à sa destination première: Les questions fréquemment posées. Mon but, ici, n'est pas de jeter un pavé dans la mare, bien au contraire mais simplement de relever ceci:
    Citation Envoyé par Laurent Dardenne
    [...]L'équipe de la FAQ dispose d'une liste de questions qui ont été posées sur le forum sans avoir eu de réponse[...]
    Je pense que si ces questions sont restées sans réponse c'est qu'elles n'ont pas dues être posées fréquemment.
    En l'occurrence, je pense qu'il serait judicieux de rappeler au débutants - que nous fûmes tous un jour et que nous sommes tous pour toujours -, qu'un turbo menu est, avant tout, un ramassé vif "contextuellement adapté" d'options présentes dans le menu principal ce qui implique, en toute logique, qu'une éventuelle personnalisation de ces items doit, normalement, se trouver dans le main menu et que le caractère "instantané et volatile" d'un turbo menu ne devrait pas nécessiter d'ajustement "à la volée" si il a été bien pensé par le développeur!
    En conclusion, je pense que cette question a le mérite de nous faire jouer avec Delphi et je m'en réjouis chaque semaine mais qu'elle ne devrait pas rejoindre la FAQ.
    En fin, je pense que l'équipe de rédaction de la FAQ réalise un boulot admirable et qu’il ne serait pas des plus pratiques pour nous autres utilisateurs de les voir se transformer en pamphlétaires pour le cirque Grus de la programmation, cela ne pourrait que nuire à la qualité de la-dite FAQ me semble-t-il.
    Cordialement,
    Hauwke

  15. #15
    Membre averti
    Avatar de Hauwke
    Inscrit en
    septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 329
    Points : 393
    Points
    393
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Le seul endroit possible c'est le nom du menu primaire, par exemple le clic droit sur 'Fichier' permet de sélectionner les barres d'outils.
    Citation Envoyé par portu
    Tout à fait ! Je dirai aussi que ce popup est non pas lié au MainMenu mais aux toolbars.
    Sous cet angle là, effectivement, la question primale prend plus de sens. J'ai ces options en natif avec les compo menus et toolbars de devexpress.
    Cette option existe également pour les tollbars de la vcl (D2005)
    A voir ce que l'on peut faire pour le mainmenu...
    Cordialement,
    Hauwke

  16. #16
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 161
    Points : 15 047
    Points
    15 047
    Billets dans le blog
    1
    Par défaut
    Je partage tout à fait ton point vue.
    Citation Envoyé par Hauwke
    qu’il ne serait pas des plus pratiques pour nous autres utilisateurs de les voir se transformer en pamphlétaires pour le cirque Grus de la programmation, cela ne pourrait que nuire à la qualité de la-dite FAQ me semble-t-il.
    Non ce n'est pas l'objectif mais nous avons aussi le droit de nous tromper.
    Et puis c'est pas mal d'avoir d'une part un retour sur le travail effectué et d'autre part de voir que l'intérêt que la FAQ peut susciter.
    ça aide à se motiver.
    Citation Envoyé par Hauwke
    ( cela dit en passant, il pourrait réellement en devenir un à offrir au forum, why not?)
    Oui j'y ai souvent pensé mais il nous faudrait des journées de 48 h pour tout faire
    Si tu as une idée sur le comment faire poste un sondage pour voir si le principe intéresse d'autres membres.

    Je rappel que c'est votre forum et pas celui des modérateurs, vous avez donc le droit de formuler vos souhaits sur des sujets de tutos, des points à aborder dans la faq,...

  17. #17
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : juin 2004
    Messages : 2 932
    Points : 3 504
    Points
    3 504
    Par défaut
    Bon, à priori, comme cette question est en train de tomber à l'eau à cause du fait que le popupmenu est plus relié à la Toolbar qu'au menu, je vous en propose une autre aussi sympa que redoutable sur les TMainMenu

    J'ai déplacé le sujet que je proposais ici dans un thread à part (comme ça, ça ne polluera pas la Question de la semaine ) :
    http://www.developpez.net/forums/vie...438949#2438949
    Bidouilleuse Delphi

  18. #18
    Membre éprouvé Avatar de Caine
    Inscrit en
    mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : mai 2004
    Messages : 1 028
    Points : 1 121
    Points
    1 121
    Par défaut
    Cette question est intéressante. Nos applications vont avoir un look&feel d'enfer avec tout ça.

    C'est possible sur toutes les versions depuis D5 à D2005 inclus?

    Pour défendre la question précédente, elle peut être utile.

    Un popup apparaît, clic-droit dessus pour accéder directement à la customisation de popup.

  19. #19
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : juin 2004
    Messages : 2 932
    Points : 3 504
    Points
    3 504
    Par défaut
    Citation Envoyé par Caine
    C'est possible sur toutes les versions depuis D5 à D2005 inclus?
    Oui, c'est possible...

    Edit : C'est posiible de Delphi 3 à Delphi 7, et pour Delphi 2005, Delphi 1 et 2, très surement (pas testé).
    Ca marche sur tous les Windows
    Bidouilleuse Delphi

Discussions similaires

  1. Participez à la FAQ JDBC
    Par Mickael Baron dans le forum JDBC
    Réponses: 7
    Dernier message: 23/09/2013, 17h26
  2. Participez à la FAQ Struts
    Par Mickael Baron dans le forum Struts 1
    Réponses: 3
    Dernier message: 05/04/2007, 22h00
  3. Participez à la FAQ Java EE
    Par Mickael Baron dans le forum Java EE
    Réponses: 1
    Dernier message: 28/08/2003, 11h49

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