TcxGridPopupMenu 中自定义菜单
来源:互联网 发布:网络教育文凭单位认吗 编辑:程序博客网 时间:2024/06/05 00:49
procedure TFrm_SingleGrid.GridCustomPopupMenu(aGridPopup: TcxGridPopupMenu);var AMenu: TComponent; FMenuItem, FSubMenuItem: TMenuItem;begin if aGridPopup.BuiltInPopupMenus.Count = 0 then Exit; AMenu := aGridPopup.BuiltInPopupMenus[0].PopupMenu; if Assigned(AMenu) and AMenu.InheritsFrom(TPopupMenu) then begin //表头位置 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miHeaderAlignment'; FMenuItem.Caption := '表头位置'; FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miHeaderAlignmentLeft'; FSubMenuItem.Caption := '靠左'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; //指定同一组 //FSubMenuItem.Checked := True; FSubMenuItem.OnClick := miHeaderAlignmentClick; FMenuItem.Add(FSubMenuItem); //加入二级子菜单 FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miHeaderAlignmentCenter'; FSubMenuItem.Caption := '居中'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; FSubMenuItem.OnClick := miHeaderAlignmentClick; FMenuItem.Add(FSubMenuItem); TPopupMenu(AMenu).Items.Add(FMenuItem); FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miHeaderAlignmentRight'; FSubMenuItem.Caption := '靠右'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; FSubMenuItem.OnClick := miHeaderAlignmentClick; FMenuItem.Add(FSubMenuItem); //表格位置 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miRowAlignment'; FMenuItem.Caption := '表格位置'; FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miRowAlignmentLeft'; FSubMenuItem.Caption := '靠左'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; //指定同一组 //FSubMenuItem.Checked := True; FSubMenuItem.OnClick := miRowAlignmentClick; FMenuItem.Add(FSubMenuItem); //加入二级子菜单 FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miRowAlignmentCenter'; FSubMenuItem.Caption := '居中'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; FSubMenuItem.OnClick := miRowAlignmentClick; FMenuItem.Add(FSubMenuItem); TPopupMenu(AMenu).Items.Add(FMenuItem); FSubMenuItem := TMenuItem.Create(Self); FSubMenuItem.Name := 'miRowAlignmentRight'; FSubMenuItem.Caption := '靠右'; FSubMenuItem.RadioItem := True; FSubMenuItem.GroupIndex := 5; FSubMenuItem.OnClick := miRowAlignmentClick; FMenuItem.Add(FSubMenuItem); //导出 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miExport'; FMenuItem.Caption := '导出'; FMenuItem.OnClick := Self.miExportClick; TPopupMenu(AMenu).Items.Add(FMenuItem); //打印 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miPrint'; FMenuItem.Caption := '打印'; FMenuItem.OnClick := Self.miPrintClick; TPopupMenu(AMenu).Items.Add(FMenuItem); //布局 FMenuItem := TMenuItem.Create(Self); FMenuItem.Name := 'miSaveLayout'; FMenuItem.Caption := '保存布局'; FMenuItem.OnClick := Self.miSaveLayoutClick; TPopupMenu(AMenu).Items.Add(FMenuItem); end;end;//cxgrid Header标题 居左、居中、居右procedure TFrm_SingleGrid.miHeaderAlignmentClick(Sender: TObject);var AHitTest: TcxCustomGridHitTest;begin AHitTest := cxgrdpmn_Main.HitTest; if GetHitTypeByHitCode(AHitTest.HitTestCode) = gvhtColumnHeader then begin if TMenuItem(Sender).Name = 'miHeaderAlignmentLeft' then TcxGridColumnHeaderHitTest(AHitTest).Column.HeaderAlignmentHorz := taLeftJustify; if TMenuItem(Sender).Name = 'miHeaderAlignmentRight' then TcxGridColumnHeaderHitTest(AHitTest).Column.HeaderAlignmentHorz := taRightJustify; if TMenuItem(Sender).Name = 'miHeaderAlignmentCenter' then TcxGridColumnHeaderHitTest(AHitTest).Column.HeaderAlignmentHorz := taCenter; end;end;//cxgrid 行数据 居左、居中、居右 procedure TFrm_SingleGrid.miRowAlignmentClick(Sender :TObject);var AHitTest: TcxCustomGridHitTest;begin AHitTest := cxgrdpmn_Main.HitTest; if GetHitTypeByHitCode(AHitTest.HitTestCode) = gvhtColumnHeader then begin if TMenuItem(Sender).Name = 'miRowAlignmentLeft' then TcxCustomGridColumnHitTest(AHitTest).Column.GetProperties.Alignment.Horz := taLeftJustify; if TMenuItem(Sender).Name = 'miRowAlignmentRight' then TcxCustomGridColumnHitTest(AHitTest).Column.GetProperties.Alignment.Horz := taRightJustify; if TMenuItem(Sender).Name = 'miRowAlignmentCenter' then TcxCustomGridColumnHitTest(AHitTest).Column.GetProperties.Alignment.Horz := taCenter; end;end;// cxgrid 导出功能procedure TFrm_SingleGrid.miExportClick(Sender: TObject);var FileName: String;begin dlgSave.Filter := '*.xls|*.xls|*.xml|*.xml|*.txt|*.txt|*.html|*.html'; dlgSave.Title := '导出为'; if not dlgSave.Execute then Exit; FileName := dlgSave.FileName; case dlgSave.FilterIndex of 1 : ExportGridToExcel(FileName, cxgrd_Main); 2 : ExportGridToXML(FileName, cxgrd_Main); 3 : ExportGridToText(FileName, cxgrd_Main); 4 : ExportGridToHTML(FileName, cxgrd_Main); end; TPublicClass.ShowDialog('导出完成...');end;
0 0
- TcxGridPopupMenu 中自定义菜单
- TcxGridPopupMenu中groupbox右键菜单汉化
- android 中自定义菜单
- SAP中添加自定义菜单
- WordPress中自定义导航菜单
- SAP中添加自定义菜单
- Unity3D中创建自定义菜单
- 在SAP标准菜单中添加自定义菜单
- 在SAP标准菜单中添加自定义菜单
- webpart菜单中添加自定义的Verbs
- WPF中给菜单添加自定义快捷键
- drupal6中添加一个自定义菜单列表
- HTML中自定义右键菜单功能
- Flex4中添加自定义右键菜单
- 在UIWebView中添加自定义编辑菜单
- Dialog中添加菜单【自定义Dialog】
- [转载] SAP开始菜单中添加自定义菜单
- 自定义菜单
- MySql简单入门二——数据库中的数据类型
- 常见的dos命令
- 【C++优先队列】
- win10+ubuntu16.04 双系统详细安装教程
- C++判断字符串是否所有字符全都不同
- TcxGridPopupMenu 中自定义菜单
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- 读书笔记-现代操作系统-7多媒体操作系统-7.3视频编码7.4音频压缩
- 51NOD 1110 距离之和最小 V3(中位数 + 技巧)
- Dialog学习
- 秒杀系统架构分析与实战
- javascript 的 style.width 取不到元素的宽度值
- 字符串反转算法
- 152. Maximum Product Subarray(重要!)