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

 Delphi Discussion :

Créer un menu special


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut Créer un menu special
    Salut,
    Voila j'ai delphi xe3 et je voudrai cree un menu comme sa : ( le bouton menu )

    Donc j'ai telecharger Dynamic Skin Form je l'ai installer mais apres je ne sais pas comment faire.
    Aidez moi svp sa fait 3h que je cherche

  2. #2
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 219
    Points : 370
    Points
    370
    Par défaut
    Salut,
    Pourquoi tu passes directement à un composant tier alors qu'un équivalent existe déjà?
    Tu peux utiliser le composant TRibbon. Si tu veux un composant pour le ToolBar un peu évolué, le Tms fait l'affaire : http://www.tmssoftware.com/site/advtoolbar.asp
    Bonne journée.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 662
    Points : 25 450
    Points
    25 450
    Par défaut
    Ce qui ressemble le plus c'est effectivement un TRibbonApplicationMenuBar avec le bouton orange où l'on affecte des Actions dans Menu et Sous Menu (il ressemble en design time à celui de FireFox)

    Faudrait regarder la MSDN

  4. #4
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Salut,
    J'ai deja essayer avec le composant ribbon mais sa me fait sa quand je le place :

    Et aucun moyen de l'agrandir ou de le deplacer que faire ?

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 662
    Points : 25 450
    Points
    25 450
    Par défaut
    Ajoute un TActionManager
    Associe les
    Clic droit sur le TRibbon, ... faudrait lire l'aide dont j'ai fourni le lien

    Le composant TRibbonApplicationMenuBar n'est pas disponible sur la palette des composants et ne doit pas être créé dynamiquement. Pour ajouter un menu Application à votre ruban, sélectionnez la commande Ajouter Menu Application dans l'éditeur du composant Ruban.
    Ajoute un TActionList ...

    Pour les onglets, idem clic droit,
    Pour les groupes, idem clic droit, il change selon la zone où l'on clic dans le ruban

  6. #6
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Ajoute un TActionManager
    Associe les
    Clic droit sur le TRibbon, ... faudrait lire l'aide dont j'ai fourni le lien



    Ajoute un TActionList ...

    Pour les onglets, idem clic droit,
    Pour les groupes, idem clic droit, il change selon la zone où l'on clic dans le ruban
    J'ai suivi tous ce que tu ma dis mais sa ne veut toujours pas
    la barre du ribbon ne veut pas se redimensionner
    Pourrait tu m'aider par TeamViewer ?

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 662
    Points : 25 450
    Points
    25 450
    Par défaut
    Je te propose une infogérance à 100€ l'heure !

    Moi, le TRibbon fait 143 de Heigth par défaut
    Je ne l'ai jamais utilisé, et ça donne ça
    Images attachées Images attachées  

  8. #8
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Je te propose une infogérance à 100€ l'heure !
    Nan mais serieusement ?

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 662
    Points : 25 450
    Points
    25 450
    Par défaut
    Le forum est une communauté, je participe pour trouver des problématiques différentes de mon quotidien, si je peux apporter des réponses, j'aurais appris quelque chose et aider quelqu'un, j'ai déjà utilisé mes propres réponses à des sujets que je n'avais pas été confrontés quelques années plus tard !

    Une intervention pas TeamViewer est hors de question, cela nuit totalement à l'esprit de partage de connaissance de forum et à la démarche personnelle des membres !

    Et n'insiste pas en MP, j'ai fourni tout ce que je pouvais fournir comme assistance !

  10. #10
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Le forum est une communauté, je participe pour trouver des problématiques différentes de mon quotidien, si je peux apporter des réponses, j'aurais appris quelque chose et aider quelqu'un, j'ai déjà utilisé mes propres réponses à des sujets que je n'avais pas été confrontés quelques années plus tard !

    Une intervention pas TeamViewer est hors de question, cela nuit totalement à l'esprit de partage de connaissance de forum et à la démarche personnelle des membres !
    Ok mais pour revenir au probleme la barre du ribbon est toujours bloquer comme sur la photo je ne peut la ragrandir meme lorsque j'ajoute un bouton ou des choses comme sa toujours bloquer que faire ?

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 662
    Points : 25 450
    Points
    25 450
    Par défaut
    Sur mon XE3, cela c'est automatiquement dimensionner à 143 pour le ruban
    Pour le Menu c'est en fonction des actions ajoutées


  12. #12
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Sur mon XE3, cela c'est automatiquement dimensionner à 143 pour le ruban
    Pour le Menu c'est en fonction des actions ajoutées

    Moi c'est automatiquement redimensionner a 26

  13. #13
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 219
    Points : 370
    Points
    370
    Par défaut
    Salut,
    Tout d’abord, je veux mentionner que j’ai faits les tests sous Delphi XE3.
    J'ai mis un TRibbon sur un fiche et j'ai remarqué que je ne peux pas changer le Height qui est fixé en conception à 26. Je change vérifie ma dfm:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      object rbn1: TRibbon
        Left = 0
        Top = 0
        Width = 472
        Height = 26
        Caption = 'rbn1'
        StyleName = 'Ribbon - Luna'
      end
    Même si j'essaie de changer la valeur du Height, ça reste toujours inchangeable et fixé à 26. Le plus beau c'est qu'en exécutant , le Height devient égal à 151. Je révise donc le code du composant TRibbon.
    Le composant TRibbon a une propriété publiée assez particulière. En regardant dans le code de la classe TRibbon dans vcl.Ribbon, on voit que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    property Height default TCustomRibbon.cRibbonHeight;
    On ne peux pas changer la valeur du Height car tout simplement le cRibbonHeight est une constante publique de la classe ancêtre TCustomRibbon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
         
      TCustomRibbon = class(TCustomControl)
      public
        type
          TTabChangeEvent = procedure (Sender: TObject; const NewIndex, OldIndex: Integer;
            var AllowChange: Boolean) of object;
        const
          cRibbonHideWidth = 300; // the parent width at which the Ribbon must automatically hide
          cRibbonHideHeight = 250; // the parent height at which the Ribbon must automatically hide
          cRibbonQuickAccessToolbarLeft = 34; // left position of the quick access toolbar
          cRibbonHeight = 117; // default height of the ribbon
          cRibbonQATHeight = 26; // height of the bottom aligned QAT bar
    Le constructeur de la classe ancêtre TCustomRibbon est responsable à la création de notre Ribbon placé sur la fiche puisque la classe TRibbon ne redéfinit pas son constructeur.
    On voit bien que la valeur du Height est le résultat de la fonction GetRibbonMetric

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Height := GetRibbonMetric(rmFullHeight);
    Cette fonction cherche selon le paramètre passé rmFullHeight (qui est à 117 jusqu'à présent )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rmFullHeight:         Result := cRibbonHeight + GetCaptionHeight;
    le GetCaptionHeight est une aussi un méthode de la classe TCustomRibbon qui retourne le Height du Caption de notre Ribbon. je crois que le membre FCaptionHeight (relatif au Height du Caption) est initialisé dans le constructeur à 34 mais il a comme valeur par défaut à -1, bien sur ici on fouille un peu et on trouve que dans la procédure overrided Loaded de notre TCustomRibbon change le Height du Caption
    La méthode ShowHelpButton varie FCaptionHeight (en flux de process avec la procédure Loaded du composant) et du coup FCaptionHeight change de -1 vers 34 .. ( comme ça le Height devient exact à 117+34 = 151).

Discussions similaires

  1. Créer un menu contextuel XML
    Par Furius dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/09/2005, 17h57
  2. Créer un menu contextuel dans une zone de liste
    Par 973thom dans le forum Access
    Réponses: 10
    Dernier message: 13/09/2005, 23h59
  3. [Menu Plugin Eclipse]créer un menu et utiliser ActionFactory
    Par Nanoulov dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/07/2005, 13h42
  4. Créer un menu en AWT
    Par mr.t dans le forum Composants
    Réponses: 2
    Dernier message: 18/01/2005, 16h52
  5. Comment créer un menu popup style XP ?
    Par chaours dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2003, 09h38

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