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;
分类:
Lazarus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~