lazarus 没自带类似的menubutton控件,虽然可以用TToolButton的DropdownMenu+popupmenu很方便达到类似的效果,但需要用toolbar配合,不符合我的要求。最后采用button+speedbutton+popupmenu完美实现,其中关键是使用ClienttoScreen将控件座标转为屏幕座标。
procedure TForm1.SpeedButton1Click(Sender: TObject); var p:tpoint; begin p:=ClienttoScreen(point(Button1.Left,Button1.Top+Button1.Height)); PopupMenu2.Popup(p.X,p.y); end;


浙公网安备 33010602011771号