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

C++Builder Discussion :

Cr�er un sous-menu dynamiquement


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Par d�faut Cr�er un sous-menu dynamiquement
    Bonjour,

    Je cherche le moyen de cr�er un sous-menu dynamiquement � un TMenuItem. Comme on pourrait le faire dans le concepteur de menus

    Je vois bien un truc du genre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    TMenuItem *menu;
    menu->Caption = "Mon menu";
    MainMenu->Items->Add(menu);
    Mais �a ne marche pas

    PurL

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Essaye d'adapter ceci:
    code qui marche dans mon cas:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Query->Close();
     Query->SQL->Clear();
     Query->SQL->Add("SELECT DISTINCT TM_TYPEMENU FROM TYPE_MARQUE ORDER BY 1");
     Query->Prepared = true;
     Query->Open();//récupération des différents types de menu existants
     Application->ProcessMessages();
     for (int i = 0;i < Query->RecordCount;i++)
     {
      TMenuItem* Menu = new TMenuItem(PopupCreation);
      Menu->Caption = Query->FieldByName("TM_TYPEMENU")->Text;
      PopupCreation->Items->Add(Menu);//création des items dans le popup
      Query->Next();
     }
     Query->First();
     
     for (int i = 0;i < Query->RecordCount;i++)
     {
      QuerySM->Close();
      QuerySM->SQL->Clear();
      QuerySM->SQL->Add("SELECT TM_NOM FROM TYPE_MARQUE WHERE TM_TYPEMENU="+QuotedStr(Query->FieldByName("TM_TYPEMENU")->Text)+" ORDER BY 1");
      QuerySM->Prepared = true;
      QuerySM->Open();//récupération des différents types de marque par type de menu
      Application->ProcessMessages();
      for (int z = 0;z < QuerySM->RecordCount;z++)
      {
       TMenuItem* Menu = new TMenuItem(PopupCreation);
       Menu->Caption = QuerySM->FieldByName("TM_NOM")->Text;
       Menu->OnClick = ActionPopup;
       PopupCreation->Items->Items[i]->Add(Menu);//création des items dans le popup selon le menu
       QuerySM->Next();
      }
      Query->Next();
     }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Par d�faut
    Merci pour ta r�ponse.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    PopupCreation->Items->Add(Menu);//création des items dans le popup
    ca marche uniquement pour un TMainMenu ou un TPopupMenu.
    On ne peut pas faire (apparement) un "Items->Add(menu)" sur un TMenuItem

    Or c'est bien un menu (sous-menu) � un TMenuItem d'un TMainMenu que je veux cr�� (rajouter une petite fleche noir � cot�)

    PurL

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    D�sol�, j'avais mal lu ta question

    Pour les TMainMenu, je ne sais pas mais selon l'aide de Builder, la propri�t� Items est en lecture seule. Je ne sais donc pas si c'est faisable.

  5. #5
    jcr
    jcr est d�connect�
    Membre habitu�
    Profil pro
    Analyste-programmeur
    Inscrit en
    Juillet 2002
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Analyste-programmeur

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Par d�faut
    Bonjour,

    il y a moyen de le faire, essaye cela
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    TMenuItem *menu; 
    menu->Caption = "Mon menu"; 
    MainMenu->Items[pos]->Items[index]->Add(menu);
    avec pos correspondant � la position de ton menu principal et index � la position du sous-menu o� tu veux ajouter ton sous-menu.
    Je pense que le premier menu a comme valuer 0 .

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AJAX] Sous-menu dynamique
    Par Carlitos dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 20/03/2007, 17h23
  2. menu et sous menu dynamiques
    Par cels dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 5
    Dernier message: 20/11/2006, 12h54
  3. Sous menu Dynamique
    Par philippe30 dans le forum Delphi
    R�ponses: 2
    Dernier message: 25/05/2006, 17h04
  4. [VB6] sous menu dynamique
    Par malhivertman1 dans le forum VB 6 et ant�rieur
    R�ponses: 1
    Dernier message: 07/03/2006, 14h13

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