dxbarmanager菜单增加项目
来源:互联网 发布:当红唱歌网络男主播 编辑:程序博客网 时间:2024/06/17 00:42
---无代码下载
{
经常上盒子查找需要的资料,今天给大家发一点有用的代码
相信好多人都用过dxbarmanager的菜单,但要动态增加项目可能会感觉不知所然!
以下代码在D7测试通过
bigwell
}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, dxsbar, ImgList, dxBar;
type
TForm1 = class(TForm)
SideBar: TdxSideBar;
ImageList1: TImageList;
BarManager: TdxBarManager;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
//side bar click proc
procedure OnBarItemClick(Sender: TObject;Item: TdxSideBarItem);
//menu item click proc
procedure OnMenuItemClick(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i,c:integer;
g:TdxSideGroup;
it:TdxSideBarItem;
ACategoryName: string;
ACategory: Integer;
AItemLinks: TdxBarItemLinks;
AItem, AChildItem: TdxBarItem;
AItemLink: TdxBarItemLink;
begin
//创建MainMenu
with BarManager.Bars.Add do
begin
Caption := 'Main Menu';
DockingStyle := dsTop;
IsMainMenu := True;
Visible := True;
end;
//获取Mainmenubar.itemlins
AItemLinks := BarManager.MainMenuBar.ItemLinks;
ACategoryName := 'Menus';
BarManager.MainMenuBar.LockUpdate := True;
//Get Category index
with BarManager.Categories do
begin
if IndexOf(ACategoryName) < 0 then Add(ACategoryName);
ACategory := IndexOf(ACategoryName);
end;
for i:=1 to 4 do
with SideBar do
begin
//创建组
g:=Groups.Add;
with g do
begin
Index:=i-1;
Caption:=Format('Group%d',[i]);
IconType := dxsgSmallIcon;
end;
//创建主菜单单项目
AItem := TdxBarSubItem.Create(Form1);
with AItem do
begin
Category := ACategory;
Caption := g.Caption;
end;
//添加到主菜单
AItemLink:=AItemLinks.Add;
AItemLink.Item:=AItem;
//创建组的子项目
for c:=1 to 5 do
begin
it:=g.Items.Add;
with it do
begin
Index:=c-1;
Caption:=Format('Group%d - Item %d',[i,c]);
SmallImage:=0;
//comm item click proc
OnItemClick:=OnBarItemClick;
//或使用action
//Action:=act_XXX;
end;
//创建子菜单
AChildItem:=TdxBarButton.Create(form1);
with AChildItem do
begin
caption:=it.Caption;
Visible:=ivAlways;
OnClick:=OnMenuItemClick;
ImageIndex:=0;
//或使用action
//Action:=act_XXX;
end;
//添加子菜单到主菜单
AItemLink := TdxBarSubItem(AItem).ItemLinks.Add;
AItemLink.Item := AChildItem;
end;
end;
with BarManager.Categories do
Move(ACategory, Count - 1);
BarManager.MainMenuBar.LockUpdate := False;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SideBar.Groups.Clear;
BarManager.MainMenuBar.ItemLinks.Clear;
end;
procedure TForm1.OnBarItemClick(Sender: TObject; Item: TdxSideBarItem);
begin
showmessage(item.Caption);
end;
procedure TForm1.OnMenuItemClick(Sender: TObject);
begin
showmessage((sender as TdxBarButton).Caption);
end;
end.
- dxbarmanager菜单增加项目
- dxBarManager
- 为右键增加菜单项目
- C#增加任务栏系统右键菜单项目
- JIRA增加自定义导航菜单项---普通用户查看所有项目
- dxBarManager的使用
- 为菜单增加热键
- 增加"Open Console"菜单
- appfuse2之增加菜单
- 增加右键菜单
- 动态增加菜单。
- 增加 magento top_menu菜单
- maixmo增加一级菜单
- 增加menuconfig 菜单
- vs2010增加新菜单
- OFFICE增加右键菜单
- 动态增加或删除菜单
- 在菜单上增加图标
- 远程连接mysql速度慢的解决方法
- 程序员的十个层次 你属于哪一层
- ruby mix-in
- EXCHANGE 2010 配置 OWA 下次登录时更改密码
- LINUX C语言 SOCKET 服务器断开导致客户端SEND崩溃问题解决办法
- dxbarmanager菜单增加项目
- GridView合并单元格
- Windows Phone 7 – Toast Notification Using Windows Azure Cloud Service
- linux下的软件包安装
- 转 gcc 参数详解
- 春晚部门节目《传奇》剧本
- MTK平台退出Screen的回调函数
- TQuery的CachedUpdates必须陪合TUpdateSQL控件才能使用
- 哈希表类Hashtable