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 :

[Delphi 2007] Clique droit + retirer des élements du menu contextuel par défaut


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 347
    Points : 203
    Points
    203
    Par défaut [Delphi 2007] Clique droit + retirer des élements du menu contextuel par défaut
    Bonjour,

    voilà mon problème, j'ai une application lambda (que j'ai crée) mais j'aimerai retirer des champs de saisie tout ce qui n'est pas [Annuler, Copier, Coller, Couper, Supprimer, Tout Sélectionner].

    Par exemple, lorsque l'on active une option dans Windows:


    Cela ajoute dans le clique droit une série de nouvelle fonctionnalité mais qui peuvent être préjudiciable dans le cas d'une application ne les traitants pas (par exemple pour ce qui est Unicode)

    Est t'il possible, sans à avoir à recréer un menu contextuel où il faille redéfinir toute les actions que l'on veut par défaut et les affectés à tout les champs de chaque fenêtre, de ne plus avoir ces différents éléments?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    Tu parles de menu contextuel et tu affiches une fenêtre d'option.
    Je ne vois pas trop le rapport.

    Sinon dans un menu contextuel, chaque item du menu possède ou propriété "Visible" et une propriété "Enabled".

  3. #3
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    essaie de creer un nouveau menu PopupMenu1 ajouter avec les basic actions couper,coller ...
    voici DFM
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    object ActionList2: TActionList
      Left = 336
      Top = 112
      object EditCut1: TEditCut
        Category = 'Edition'
        Caption = 'Cou&per'
        Hint = 'Couper|Couper la s'#233'lection et la mettre dans le Presse-papiers'
        ImageIndex = 0
        ShortCut = 16472
      end
      object EditCopy1: TEditCopy
        Category = 'Edition'
        Caption = '&Copier'
        Hint = 'Copier|Copier la s'#233'lection et la mettre dans le Presse-papiers'
        ImageIndex = 1
        ShortCut = 16451
      end
      object EditPaste1: TEditPaste
        Category = 'Edition'
        Caption = 'Co&ller'
        Hint = 'Coller|Ins'#233'rer le contenu du Presse-papiers'
        ImageIndex = 2
        ShortCut = 16470
      end
      object EditSelectAll1: TEditSelectAll
        Category = 'Edition'
        Caption = '&Tout s'#233'lectionner'
        Hint = 'Tout s'#233'lectionner|S'#233'lectionner l'#39'int'#233'gralit'#233' du document'
        ShortCut = 16449
      end
    end
    object PopupMenu1: TPopupMenu
      BiDiMode = bdRightToLeft
      ParentBiDiMode = False
      Left = 304
      Top = 112
      object Couper2: TMenuItem
        Action = EditCut1
      end
      object Copier1: TMenuItem
        Action = EditCopy1
      end
      object Coller2: TMenuItem
        Action = EditPaste1
      end
      object N2: TMenuItem
        Caption = '-'
      end
      object outslectionner1: TMenuItem
        Action = EditSelectAll1
      end
    end
    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
    procedure TForm1.SetPopMenu(AParent:TWincontrol);
    var
     i:integer;
     Obj: TObject;
    begin
        with AParent do
        for i:= 0 to ControlCount-1 do
        begin
           Obj := Controls[i] ;
          if (Obj is TCustomEdit) and not Assigned(TEdit(Obj).PopupMenu) then
             TEdit(Obj).PopupMenu:=PopupMenu1
           else
              if Obj is TWincontrol then
                 SetPopMenu(TWincontrol(Obj));
     
        end;
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      SetPopMenu(Self);
    end;
    attention si tu modifie le parent if faut surcharger la methode Setparent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.SetParent(AParent: TWinControl);
    begin
       inherited SetParent(AParent);
       SetPopMenu(Self);
    end;

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 347
    Points : 203
    Points
    203
    Par défaut
    Voilà le + que Windows ajoute à son menu contextuel de base.



    Merci Montor, j'aurais aimé évité de recrée un menu contextuel que je réaffecte à tout mes Control

    Enfin, merci je vais voir

    je laisse ouvert la question ouverte encore quelques temps avant de marqué résolut.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/01/2014, 09h25
  2. [PR-2010] Inserer des commandes dans menu contextuel clic droit
    Par SwissEngineer dans le forum Project
    Réponses: 0
    Dernier message: 08/01/2013, 11h37
  3. [WD17] Disparition des élements du menu Fichier
    Par courdi95 dans le forum WinDev
    Réponses: 1
    Dernier message: 26/07/2012, 16h22
  4. [delphi 2007]fonction pour générer des caracteres
    Par shell13010 dans le forum Langage
    Réponses: 1
    Dernier message: 31/03/2009, 00h37
  5. [Joomla!] Affichage des élements de menu
    Par erman_yazid dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/03/2008, 08h15

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