2014-01-15 155 views
0

根據TMS,W7ToolButton1可用於顯示下拉菜單。但我沒有看到你怎麼做,因爲它沒有下拉菜單屬性。我只能添加的菜單是與下拉菜單不同的彈出菜單。有人知道如何將下拉菜單添加到按鈕中?我可以添加一個下拉箭頭到按鈕,但它是如何使點擊這個箭頭(假設它的功能是這樣)使彈出菜單顯示的神祕...TW7ToolButton - 添加下拉菜單

回答

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; 

菜單將出現在按鈕下方就像下拉菜單一樣。

+0

是的,我想這是做這件事的唯一方法。謝謝! – user3181689

0

我不熟悉TMS,但是,與常規按鈕/ SpeedButton的,你可以使用類似:

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

爲什麼不使用'TWinControl.ClientToScreen'? –

+1

對於'TButton',在Delphi XE4中有'Style'屬性和'DropDownMenu'屬性的'bsSplitButton'值,所以這些都不需要。甚至對於2009年的Delphi 2009,同樣的情況也適用於這個問題(http://stackoverflow.com/q/2016890/960757)。但仍然TMS可能以不同的方式做... – TLama

+0

還有其他組件可以使用(Raize - RzMenuToolbarButton1),但我對TMS感興趣。 – user3181689