Delphi TdxBarManager通过代码生成菜单

news/2024/11/30 14:46:57/

procedure TForm6.btn1Click(Sender: TObject);
var
  ABar:TdxBar;
  ABarItem:TdxBarItem;
  ABarSubItem:TdxBarSubItem;
  ABarItemLink:TdxBarItemLink;
  ABarButton:TdxBarButton;
begin
   Self.dxBarManager1.Style:=bmsOffice11;     //设置样式    bmsFlat|bmsOffice11|bmsStandard|bmsUseLookAndFeel|bmsXP|bmsEnhanced
   Self.dxBarManager1.BeginUpdate;            //开启 dxBarManager 更新
   //添加工具栏
   ABar := Self.dxBarManager1.Bars.Add;       //通过dxBarManager添加一个 bar (可以是工具栏或菜单栏:通过属性设置)

   ABar.AllowClose:=False;                    //相关属性设置
   ABar.AllowCustomizing:=False;              //
   ABar.AllowQuickCustomizing:=False;         //
   ABar.AllowReset := False;                  //
   ABar.DockingStyle:=dsTop;                  //重要:停靠方式 ,不设置,将会浮动在窗口之外,这里一般在顶部停靠
   ABar.OneOnRow:=True;                       //排列在一排上,不换行

   ABar.IsMainMenu:=True;                     //是否是主菜单    false 为工具栏

   ABar.Caption := '文件';                    //设置工具栏名称
   ABar.Visible:=True;                        //设置工具栏可见
   //添加工具栏下菜单
   ABarSubItem :=  Self.dxBarManager1.AddSubItem;
   ABarSubItem.Caption:='帮助';
   ABarSubItem.Visible := ivAlways;
   ABarItemLink:=ABar.ItemLinks.Insert(0);
   ABarItemLink.Item :=  ABarSubItem;

   ABarButton := Self.dxBarManager1.AddButton;
   ABarButton.Caption:='关于';
   ABarButton.Visible := ivAlways;
   ABarItemLink:= ABarSubItem.ItemLinks.Insert(0);
   ABarItemLink.Item := ABarButton;

   ABarButton := Self.dxBarManager1.AddButton;
   ABarButton.Caption:='关闭';
   ABarButton.Visible := ivAlways;
   ABarItemLink:= ABarSubItem.ItemLinks.Insert(ABarSubItem.ItemLinks.VisibleItemCount);
   ABarItemLink.Item := ABarButton;

    ABarButton := Self.dxBarManager1.AddButton;
   ABarButton.Caption:='关闭1';
   ABarButton.Visible := ivAlways;
   ABarItemLink:= ABarSubItem.ItemLinks.Insert(ABarSubItem.ItemLinks.VisibleItemCount);
   ABarItemLink.Item := ABarButton;

    ABarButton := Self.dxBarManager1.AddButton;
   ABarButton.Caption:='关闭2';
   ABarButton.Visible := ivAlways;
   ABarItemLink:= ABarSubItem.ItemLinks.Insert(ABarSubItem.ItemLinks.VisibleItemCount);
   ABarItemLink.Item := ABarButton;
  
   Self.dxBarManager1.EndUpdate;
end;


http://www.ppmy.cn/news/41604.html

相关文章

gnome换回纵向切换工作区

效果: 思路 最新的debian / ubuntu中用的gnome 4.x,工作区切换变成了左右切换,习惯了上下,真的很不舒服。 而且优化选项里也把设置开关取消掉了,解决方案是使用Vertical overview这个扩展: ## 安装扩展管…

2.30、守护进程(1)

2.30、守护进程(1)1.终端是什么2.进程组是什么3.会话是什么4.进程组、会话、控制终端之间的关系5.进程组、会话操作有哪些函数①pid_t getpgrp(void);②pid_t getpgid(pid_t pid);③int setpgid(pid_t pid, pid_t pgid);④pid_t getsid(pid_t pid);⑥pid…

前端必备技能——TypeScript与JavaScript区别

TypeScript与JavaScript区别 文章目录TypeScript与JavaScript区别[TOC](文章目录)前言一、什么是JavaScript?二、什么是TypeScript?TypeScript增加了什么?TypeScript的应用三、JavaScript与TypeScript的区别总结前言 TypeScript逐渐成为前端工程师必备的技能之一…

2.3-6循环链表

原理的单链表和循环单链表的区别: 初始化循环单链表时,使头节点next指针指向头节点。 判断循环单链表是否为空。 对比: 单链表:if(L->next NULL) 双链表:if(L->nextL) 判断循环单链表的结点p是否为表尾结点…

「 操作系统 」聊聊进程调度算法

「 操作系统 」聊聊进程调度算法 图文并茂!谈谈进程调度那些算法 Cone 进程调度/页面置换/磁盘调度算法 xiaolinCoding 图解经典的进程调度算法 飞天小牛肉 文章目录「 操作系统 」聊聊进程调度算法一、进程调度的定义二、非抢占式调度算法先到先服务 FCFS最短作业优…

主流Java组件和框架

WEB 容器 Tomcat https://tomcat.apache.org/ Jetty https://www.jetty.com/ JBoss https://www.jboss.org/ Resin https://caucho.com/products/resin 数据库 H2 https://h2database.com/ SQLite https://www.sqlite.org/ MySQL https://www.mysql.com/ Oracle https://www…

7.Easyexcel的使用

七.Easyexcel的使用 1.为什么程序中需要使用excel 2.技术选型 3.具体使用 七.Easyexcel的使用 1.为什么程序中需要使用excel 企业用excel表格导入批量数据保存日志出勤记录等不变数据异构系统间数据传输 PHP系统无法访问数据库,开发JAVA系统来增加功能&#xf…

Java常见异常总结

JAVA常见异常总结 文章目录JAVA常见异常总结空指针异常:Java.io.NullPointerException异常介绍:解决办法:数字格式异常:java.lang.NumberFormatException: For input string: "xxxxx"异常介绍&am…