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 :

Les items de TPopupMenu


Sujet :

Langage Delphi

  1. #1
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut Les items de TPopupMenu
    Bonsoir la compagnie,

    J'ai juste un problème de compréhension.

    - voici une procédure qui fonctionne très bien :

    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
    procedure TFPrincipal.ItemsBarreIconesClick(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 0 to PopupMenuBarreIcones.Items.Count - 1 do
        PopupMenuBarreIcones.Items[i].Checked := False;
     
      case AnsiIndexStr(TMenuItem(Sender).Name,['PetitsIcones','GrandsIcones']) of
        0: sBtnClient_BarreIcones.Images := sAImageList16;
        1: sBtnClient_BarreIcones.Images := sAImageList32;
      end;
    // ....
     
    // ....
      TMenuItem(Sender).Checked := True;
    end;
    - J'ai essayé au paravant de faire ceci :

    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
    procedure TFPrincipal.ItemsBarreIconesClick(Sender: TObject);
    var
      i: Integer;
    begin
     
      for i := 0 to TMenuItem(Sender).Count - 1 do
        TMenuItem(Sender).Items[i].Checked := False;
     
      case AnsiIndexStr(TMenuItem(Sender).Name,['PetitsIcones','GrandsIcones']) of
        0: sBtnClient_BarreIcones.Images := sAImageList16;
        1: sBtnClient_BarreIcones.Images := sAImageList32;
      end;
      AffectationImageIndex(Self);
     
      TMenuItem(Sender).Checked := True;
    end;
    - ou même ceci :

    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
    procedure TFPrincipal.ItemsBarreIconesClick(Sender: TObject);
    var
      i: Integer;
    begin
     
      for i := 0 to TPopupMenu(Sender).Items.Count - 1 do
        TPopupMenu(Sender).Items[i].Checked := False;
     
      case AnsiIndexStr(TMenuItem(Sender).Name,['PetitsIcones','GrandsIcones']) of
        0: sBtnClient_BarreIcones.Images := sAImageList16;
        1: sBtnClient_BarreIcones.Images := sAImageList32;
      end;
      AffectationImageIndex(Self);
     
      TMenuItem(Sender).Checked := True;
    end;
    Mais cela ne marche pas.

    Ma question comment remplacer dans mon première exemple PopupMenuBarreIcones.Items.Count - 1 par un sender de la procédure ?

    Merci bien à vous...

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Je me réponds...

    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
    procedure TFPrincipal.ItemsBarreIconesClick(Sender: TObject);
    var
      i: Integer;
    begin
     
      for i := 0 to TMenuItem(Sender).Parent.Count - 1 do
        TMenuItem(Sender).Parent.Items[i].Checked := False;
     
      case AnsiIndexStr(TMenuItem(Sender).Name,['PetitsIcones','GrandsIcones']) of
        0: sBtnClient_BarreIcones.Images := sAImageList16;
        1: sBtnClient_BarreIcones.Images := sAImageList32;
      end;
    // ....
     
    // ....
     
      TMenuItem(Sender).Checked := True;
     
    end;

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

Discussions similaires

  1. [C#] Les items sélectionnés d'un CheckBoxList
    Par calinou dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/07/2005, 15h09
  2. changer le texte de tous les Items dans un mainmenu
    Par C.M dans le forum Composants VCL
    Réponses: 7
    Dernier message: 25/07/2004, 14h19
  3. [TListView] Déplacer / Arranger les items
    Par Ingham dans le forum Composants VCL
    Réponses: 4
    Dernier message: 14/07/2004, 16h52
  4. Comment espacer les Items d'un TMainMenu ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 3
    Dernier message: 27/08/2003, 16h57
  5. Recuper les items de ListBox d'une autre application [API?]
    Par Shamanisator dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 13h32

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