Salut tous une petite question .
Connaissez vous un composant de style bouton quand tu clic dessus un menu descend enfin un truc dans le genre ,je cherche a faire un menu déroulant sur un bouton.
merci d'avance
Salut tous une petite question .
Connaissez vous un composant de style bouton quand tu clic dessus un menu descend enfin un truc dans le genre ,je cherche a faire un menu déroulant sur un bouton.
merci d'avance
Dans la JVCL , il y a jvArrowButton qui pourrait correspondre , mais il est relativement aisé également d'utiliser (et de le positionner également) un popup menu avec un simple bitbtn
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Dans les versions récentes de Delphi (XE2, peut-être avant), cette option est déjà présente sur les TButton ; mais elle pose des problèmes avec Windows XP par exemple.
Donc pour le créer artisanalement, tu peux utiliser un TSpeedBtn avec un glyph représentant une flèche vers le bas.
Et ces quelques lignes de code à placer au click :
Beny
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var pt: TPoint; begin pt.X := SpeedButton1.Left; pt.Y := SpeedButton1.Top + SpeedButton1.Height; pt := ClientToScreen(pt); PopupMenu1.Popup(pt.X, pt.Y); end;
Super merci a tous le code est super
Je n'ai pas Delphi d'ouvert là, mais j'imagine que PopupMenu à une propriété du genre "Close".
Si c'est le cas, tu peux créer une variable boolean qui est lu lorsque l'on clique sur le bouton, et qui, selon l'état de cette boolean, ouvrirait ou fermerait le PopupMenu.
Ce qui donnerait (code fictif) :
C'est juste pour l'idée, car si tu ouvre le PopupMenu et que tu clique autre part dans la form, alors le menu se fermera sans avoir tournée la boolean à False...
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 var MenuOuvert: Boolean; begin if MenuOuvert then begin // On ferme le PopupMenu1. // On passe la variable à False. MenuOuvert := False; end else begin // On ouvre le PopupMenu1 avec le code vu plus haut. // On passe la variable à True. MenuOuvert := True; end; end;
Beny
Salut,
Une autre idée si tu ne souhaite pas utiliser la JVCL.
Pose un Tpanel, ensuite dessus tu pose un Tbutton ou autre en alLeft ou alRight avec une image représentant une flêche, ensuite je laisse cours à ton imagination...
Il existe aussi avec une TToolBar le TToolButton mis en Style:tbsDropDown auquel tu peux associer un PopMenu via DropdownMenu
Merci a tous ,désolé de venir aussi tard j'étais en déplacement .
Merci a tous pour vos idées. Bon W K
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager