【问题标题】:TW7ToolButton - add dropdown menuTW7ToolButton - 添加下拉菜单
【发布时间】:2014-01-15 08:42:31
【问题描述】:

根据 TMS,W7ToolButton1 可用于显示下拉菜单。但是我看不到您如何做到这一点,因为它没有下拉菜单属性。我可以添加的唯一菜单是弹出菜单,它与下拉菜单不同。有人知道如何向按钮添加下拉菜单???我可以在按钮上添加一个下拉箭头,但如何在单击此箭头时显示弹出菜单是一个谜(假设它以这种方式运行)...

【问题讨论】:

    标签: delphi delphi-xe4 tms


    【解决方案1】:

    TW7ToolButton 似乎没有单击拆分按钮箭头的事件,因此这可能是您对当前组件版本所能做的最好的事情:

    procedure TForm1.W7ToolButton1Click(Sender: TObject);
    var
      iPoint: TPoint;
    begin
      iPoint := ClientToScreen(Point(W7ToolButton1.Left, W7ToolButton1.Top + W7ToolButton1.Height));
      PopupMenu1.Popup(iPoint.X, iPoint.Y);
    end;
    

    菜单会像下拉菜单一样出现在按钮下方。

    【讨论】:

    • 是的,我想这是唯一的方法。谢谢!
    【解决方案2】:

    我不熟悉 TMS,但是,对于常规按钮/速度按钮,您可以使用以下内容:

    PopupMenu1.Popup (Form1.Left + SpeedButton1.Left + SpeedButton1.Height, Form1.Top + SpeedButton1.Top + SpeedButton1.Width);
    

    【讨论】:

    • 为什么不使用TWinControl.ClientToScreen
    • 对于TButton,在 Delphi XE4 中,Style 属性和 DropDownMenu 属性具有 bsSplitButton 值,因此不需要这些。这同样适用于this Q&A 中的 Delphi 2009。但 TMS 仍然可能以不同的方式做到这一点......
    • 我可以使用其他组件(Raize - RzMenuToolbarButton1),但我对 TMS 感兴趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多