IControl.PopupMenu

Синтаксис

PopupMenu: IPopupMenu;

Описание

Свойство PopupMenu определяет контекстное меню, которое будет появляться при щелчке правой кнопкой мыши на компоненте.

Комментарии

Если в реализацию компонента заложено какое-либо системное контекстное меню, то при установке значения в свойстве PopupMenu системное контекстное меню будет заменено собственным контекстным меню.

В список допустимых значений входят компоненты PopupMenu, которые добавлены на форму или созданные динамически в прикладном коде.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенного на ней компонента 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.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;

См.также:

IControl