2012-05-11 61 views
1

在我的應用程序(德爾福Xe2)我有'multichoice'按鈕(即'導出'按鈕有'導出爲PDF'和'導出到XLS'的選擇)。 我需要獲得一個菜單,就像當我將鼠標移動到一個按鈕(或面板或其他對象)上時彈出菜單的菜單一樣。這個菜單需要出現在按鈕下方,並且需要成爲「VCL Stylable」組件。 我嘗試了一個TPopUpMenu,但隱藏並不方便。 我也可以考慮用OnClick事件而不是OnEnter來顯示菜單。德爾福XE2組件翻轉菜單

回答

4

您可以使用TButton,其樣式設置爲bsSplitButton,連同設置爲按鈕DropDownMenu屬性的TPopupActionBar。當您單擊向右箭頭拆分時,菜單會下降。適用於Vista和更高版本..

對於早期OS類似下面可以使用:

procedure TForm1.Button1Click(Sender: TObject); 
var 
    Pt: TPoint; 
begin 
    Pt := ClientToScreen(Point((Sender as TButton).Left, (Sender as TButton).Top)); 
    PopupActionBar1.Popup(Pt.X, Pt.Y + (Sender as TButton).Height); 
end; 
+0

好主意,不完全是我的需求卻遠沒有那麼... – philnext