delphi - survol - menu déroulant html




Comment créer un bouton avec un menu déroulant? (3)

Existe-t-il un moyen de montrer le style du bouton IE / Firefox Back, le bouton du menu déroulant?


Sûr. Mettez une barre d'outils sur la page. Cliquez avec le bouton droit sur la barre d'outils, ajoutez un bouton. Définissez le style du bouton sur tbsDropDown. Mettez un PopupMenu sur la page. Double-cliquez sur le menu contextuel pour définir les éléments de menu. Ensuite, revenez au bouton que vous avez créé et définissez sa propriété DropdownMenu pour pointer vers le PopupMenu que vous venez de créer.


Si vous ne voulez pas utiliser une barre d'outils, les bibliothèques de raize (www.raize.com) et express editors (www.DevExpress.com) ont des composants qui peuvent le faire.


La réponse de Jim est excellente, mais n'a pas vraiment fonctionné pour moi au début. ClientToScreen utilise la méthode de Form86, qui n'est correcte que si le bouton est directement sur le formulaire. Cela devrait être la méthode ClientToScreen du bouton appelée, comme ceci:

procedure TForm86.Button1Click(Sender: TObject);
var
  button: TControl;
  lowerLeft: TPoint;
begin
  if Sender is TControl then
  begin
    button := TControl(Sender);
    lowerLeft := Point(0, button.Height);
    lowerLeft := button.ClientToScreen(lowerLeft);
    PopupMenu1.Popup(lowerLeft.X, lowerLeft.Y);
  end;
end;

Cela fonctionne n'importe où le bouton est.







popupmenu