Copie du wikimiroir

Ceci est un miroir du wiki de pascal.chat. La modification, l’historique et la connexion se trouvent là-bas.

TPopupMenu/fr

Deutsch · English · Français · Suomi · Русский · 日本語

Un TPopupMenu est un menu qui apparaît à l'aide du bouton droit de la souris à son emplacement courant.

Il s'agit d'un composant non visible : son icône est placés sur la fiche en conception mais n'apparaît pas à l'"exécution. Le composant est disponible dans l'onglet Standard de la palette de composants. A la place, une barre de menu avec la structure définie par l'éditeur de menu apparaîtra.

Pour voir l'éditeur de menu, faites un clic-droit sur l'icône du menu sur votre fiche.

Création d'un PopupMenu

Dans le passage suivant, je vous montrerai, comment affecter un menu popup à un composant sur votre fiche :

Maintenant, de tout cela vous obtiendrez un menu qui s'affiche au moment de l'exécution et permettra à l'utilisateur de cliquer sur les menus. Il ne fera réellement rien. Pour que les éléments du menu fassent quelque chose, vous devez ajouter des événéments pour chaque menu qui doit réagir au clic dessus.

Ce qui suit explique comment éditer les événements de clic sur les menus en utilisant l'inspecteur d'objet.

Rendre le menu fonctionnel

pascal
procedure TForm1.popLoadClick(Sender: TObject);
begin

end;

Dans votre cas, nous pouvons insérer un contrôle TOpenDialog sur la fiche et utiliser le dialogue standard pour notre usage :

pascal
procedure TForm1.popLoadClick(Sender: TObject);
begin
  if OpenDialog1.Execute then                            //only if a file is selected
    try                                                  //try
      Image1.Picture.LoadFromFile(OpenDialog1.Filename); //to load that file
    except
    end;
end;
pascal
procedure TForm1.popStretchClick(Sender: TObject);
begin
  popStretch.Checked := not popStretch.Checked;  //mark/checked on/off
  Image1.Stretch := popStretch.Checked;          //Image1 streched yes/no
end;

procedure TForm1.popCenterClick(Sender: TObject);
begin
  popCenter.Checked := not popCenter.Checked;  //mark/checked on/off
  Image1.Center := popCenter.Checked;          //Image1 center yes/no
end;

Popup spécifique

Vous pouvez forcer l'affichage d'un menu popup sans passer par le clic-droit sur un composant spécifique, mais par un autre événement. Ce que vous pouvez réaliser avec PopupMenu.PopUp.

Un exemple simple :

pascal
procedure TForm1.Button1Click(Sender: TObject);
begin
  PopupMenu1.PopUp;   //shop PopupMenu
end;

Voir aussi


From the Free Pascal wiki, page "TPopupMenu/fr", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 2, dernière modification par WikiArchive .