Difference between revisions of "Lua:Class:PopupMenu"
Jump to navigation
Jump to search
(Major overhaul of the post.) |
|||
| Line 1: | Line 1: | ||
[[Category:Lua]] | [[Category:Lua]] | ||
| − | + | {{Class|'''class''' PopupMenu ''':''' Menu}} | |
| − | The | + | The PopupMenu class represents a context menu. |
| + | |||
| + | A popup menu is the menu that appears when showing the right-click context menu of a control. It can be created with [[Lua:createPopupMenu|createPopupMenu]]. | ||
| + | |||
| + | ===Inheritance=== | ||
| + | {|width="85%" cellpadding="10%" cellspacing="0" border="0" | ||
| + | !align="left"|Class | ||
| + | !align="left"|Inherits From | ||
| + | !style="width: 80%;background-color:white;" align="left"|Description | ||
| + | |- | ||
| + | |PopupMenu | ||
| + | |Menu | ||
| + | |Represents a context menu. | ||
| + | |- | ||
| + | |Menu | ||
| + | |Component | ||
| + | |Base class for menu objects. | ||
| + | |- | ||
| + | |Component | ||
| + | |Object | ||
| + | |Base class for components. | ||
| + | |- | ||
| + | |Object | ||
| + | |None | ||
| + | |Base class for Lua-exposed objects. | ||
| + | |} | ||
== Creation == | == Creation == | ||
| − | |||
| − | |||
| − | {{ | + | {{CodeBox|'''function''' createPopupMenu(''owner'') ''':''' PopupMenu}} |
| + | |||
| + | Creates a PopupMenu object. | ||
| + | |||
| + | ===Function Parameters=== | ||
| + | {|width="85%" cellpadding="10%" cellspacing="0" border="0" | ||
| + | !align="left"|Parameter | ||
| + | !align="left"|Type | ||
| + | !style="width: 80%;background-color:white;" align="left"|Description | ||
| + | |- | ||
| + | |owner | ||
| + | |[[Lua:Class:Component|Component]] | ||
| + | |The owner of the popup menu. | ||
| + | |} | ||
| + | |||
| + | ===Returns=== | ||
| + | [[Lua:Class:PopupMenu|PopupMenu]] — The created popup menu object. | ||
| + | |||
| + | == Properties == | ||
| + | |||
| + | This class does not define additional properties. | ||
| + | |||
| + | Inherited properties are available through [[Lua:Class:Menu|Menu]], [[Lua:Class:Component|Component]], and [[Lua:Class:Object|Object]]. | ||
| + | |||
| + | == Methods == | ||
| + | |||
| + | This class does not define additional methods. | ||
| + | |||
| + | Inherited methods are available through [[Lua:Class:Menu|Menu]], [[Lua:Class:Component|Component]], and [[Lua:Class:Object|Object]]. | ||
| + | |||
| + | == Examples == | ||
| + | |||
| + | ===Create a PopupMenu=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | form.PopupMenu = popupMenu | ||
| + | form.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===Add menu items to a PopupMenu=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2,4"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | local menuItem = createMenuItem(popupMenu) | ||
| + | menuItem.Caption = "Say hello" | ||
| + | menuItem.OnClick = function(sender) | ||
| + | print("Hello") | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(menuItem) | ||
| + | |||
| + | form.PopupMenu = popupMenu | ||
| + | form.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===Use a PopupMenu as a form context menu=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2,4"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | local closeItem = createMenuItem(popupMenu) | ||
| + | closeItem.Caption = "Close" | ||
| + | closeItem.OnClick = function(sender) | ||
| + | form.close() | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(closeItem) | ||
| + | |||
| + | form.PopupMenu = popupMenu | ||
| + | form.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===Assign a PopupMenu to a control=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2,7"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | local button = createButton(form) | ||
| + | button.Caption = "Right-click me" | ||
| + | |||
| + | local menuItem = createMenuItem(popupMenu) | ||
| + | menuItem.Caption = "Button action" | ||
| + | menuItem.OnClick = function(sender) | ||
| + | print("Popup item clicked") | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(menuItem) | ||
| + | button.PopupMenu = popupMenu | ||
| + | |||
| + | form.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===Create multiple context actions=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2,4,18"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | local copyItem = createMenuItem(popupMenu) | ||
| + | copyItem.Caption = "Copy" | ||
| + | copyItem.OnClick = function(sender) | ||
| + | print("Copy selected") | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(copyItem) | ||
| + | |||
| + | local pasteItem = createMenuItem(popupMenu) | ||
| + | pasteItem.Caption = "Paste" | ||
| + | pasteItem.OnClick = function(sender) | ||
| + | print("Paste selected") | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(pasteItem) | ||
| + | |||
| + | form.PopupMenu = popupMenu | ||
| + | form.show() | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===Create a PopupMenu for a memo=== | ||
| + | <syntaxhighlight lang="lua" line highlight="2,7,9,14"> | ||
| + | local form = createForm(false) | ||
| + | local popupMenu = createPopupMenu(form) | ||
| + | |||
| + | local memo = createMemo(form) | ||
| + | memo.Align = alClient | ||
| + | |||
| + | local clearItem = createMenuItem(popupMenu) | ||
| + | clearItem.Caption = "Clear" | ||
| + | clearItem.OnClick = function(sender) | ||
| + | memo.Lines.clear() | ||
| + | end | ||
| + | |||
| + | popupMenu.Items.add(clearItem) | ||
| + | memo.PopupMenu = popupMenu | ||
| − | + | form.show() | |
| − | + | </syntaxhighlight> | |
| − | |||
| − | |||
| − | + | {{LuaSeeAlso}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Latest revision as of 00:42, 27 June 2026
The PopupMenu class represents a context menu.
A popup menu is the menu that appears when showing the right-click context menu of a control. It can be created with createPopupMenu.
Inheritance[edit]
| Class | Inherits From | Description |
|---|---|---|
| PopupMenu | Menu | Represents a context menu. |
| Menu | Component | Base class for menu objects. |
| Component | Object | Base class for components. |
| Object | None | Base class for Lua-exposed objects. |
Creation[edit]
Creates a PopupMenu object.
Function Parameters[edit]
| Parameter | Type | Description |
|---|---|---|
| owner | Component | The owner of the popup menu. |
Returns[edit]
PopupMenu — The created popup menu object.
Properties[edit]
This class does not define additional properties.
Inherited properties are available through Menu, Component, and Object.
Methods[edit]
This class does not define additional methods.
Inherited methods are available through Menu, Component, and Object.
Examples[edit]
Create a PopupMenu[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 form.PopupMenu = popupMenu
5 form.show()
[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 local menuItem = createMenuItem(popupMenu)
5 menuItem.Caption = "Say hello"
6 menuItem.OnClick = function(sender)
7 print("Hello")
8 end
9
10 popupMenu.Items.add(menuItem)
11
12 form.PopupMenu = popupMenu
13 form.show()
[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 local closeItem = createMenuItem(popupMenu)
5 closeItem.Caption = "Close"
6 closeItem.OnClick = function(sender)
7 form.close()
8 end
9
10 popupMenu.Items.add(closeItem)
11
12 form.PopupMenu = popupMenu
13 form.show()
Assign a PopupMenu to a control[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 local button = createButton(form)
5 button.Caption = "Right-click me"
6
7 local menuItem = createMenuItem(popupMenu)
8 menuItem.Caption = "Button action"
9 menuItem.OnClick = function(sender)
10 print("Popup item clicked")
11 end
12
13 popupMenu.Items.add(menuItem)
14 button.PopupMenu = popupMenu
15
16 form.show()
Create multiple context actions[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 local copyItem = createMenuItem(popupMenu)
5 copyItem.Caption = "Copy"
6 copyItem.OnClick = function(sender)
7 print("Copy selected")
8 end
9
10 popupMenu.Items.add(copyItem)
11
12 local pasteItem = createMenuItem(popupMenu)
13 pasteItem.Caption = "Paste"
14 pasteItem.OnClick = function(sender)
15 print("Paste selected")
16 end
17
18 popupMenu.Items.add(pasteItem)
19
20 form.PopupMenu = popupMenu
21 form.show()
Create a PopupMenu for a memo[edit]
1 local form = createForm(false)
2 local popupMenu = createPopupMenu(form)
3
4 local memo = createMemo(form)
5 memo.Align = alClient
6
7 local clearItem = createMenuItem(popupMenu)
8 clearItem.Caption = "Clear"
9 clearItem.OnClick = function(sender)
10 memo.Lines.clear()
11 end
12
13 popupMenu.Items.add(clearItem)
14 memo.PopupMenu = popupMenu
15
16 form.show()