PopupMenu: IPopupMenu;
Свойство PopupMenu определяет контекстное меню, которое будет появляться при щелчке правой кнопкой мыши на компоненте.
Если в реализацию компонента заложено какое-либо системное контекстное меню, то при установке значения в свойстве PopupMenu системное контекстное меню будет заменено собственным контекстным меню.
В список допустимых значений входят компоненты PopupMenu, которые добавлены на форму или созданные динамически в прикладном коде.
Для выполнения примера предполагается наличие формы, расположенного на ней компонента PopupMenu с наименованием «PopupMenu1», ReportBox с наименованием «ReportBox1» и компонента UiReport с наименованием «UiReport1». «UiReport1» является источником данных для «ReportBox1»
Class TESTForm: Form
PopupMenu1: PopupMenu;
UiReport1: UiReport;
ReportBox1: ReportBox;
TView: ITabView;
Sub TESTFormOnCreate(Sender: Object; Args: IEventArgs);
Var
Items: IMenuItems;
Item: MenuItem;
Begin
TView := (ReportBox1.Report.Report.ActiveSheet As IPrxTable).TabSheet.View;
//Создание пункта меню
Items := PopupMenu1.Items;
Items.Clear;
Item := New MenuItem.Create;
Item.Text := "Формат";
Item.OnClick := MenuItem1OnClick;
Items.Add(Item);
//Установка контекстного меню для компонента ReportBox
ReportBox1.PopupMenu := PopupMenu1;
End Sub TESTFormOnCreate;
Sub MenuItem1OnClick(Sender: Object; Args: IEventArgs);
Begin
TView.ShowFormatDialogEx(Self As IWin32Window);
End Sub MenuItem1OnClick;
End Class TESTForm;
При выполнении примера для компонента «ReportBox1» будет установлено контекстное меню, которое будет доступно в области листов отчета. В меню будет доступна одна команда - Формат. При выполнении команды будет вызываться окно формата для текущего выделенного диапазона ячеек.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Public Partial Class TESTForm: Prognoz.Platform.Forms.Net.ForeNetForm
Public Constructor TESTForm();
Begin
InitializeComponent();
End Constructor;
TView: ITabView;
Private Sub TESTForm_Load(sender: System.Object; e: System.EventArgs);
Var
Items: ToolStripItemCollection;
Item: ToolStripItem;
Begin
TView := (reportBoxNet1.CtrlBox.Report.Report.ActiveSheet As IPrxTable).TabSheet.View;
//Создание пункта меню
Items := contextMenuStrip1.Items;
Items.Clear();
Item := Items.Add("Формат");
Item.Click += toolStripMenuItem1_Click;
//Установка контекстного меню для компонента ReportBoxNet
reportBoxNet1.ContextMenuStrip := contextMenuStrip1;
End Sub;
Private Sub toolStripMenuItem1_Click(sender: System.Object; e: System.EventArgs);
Begin
TView.ShowFormatDialogEx(New IWin32WindowForeAdapter(Self));
End Sub;
End Class;
См.также: