DgsCreateMenu: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "__NOTOC__ {{Client function}} frame|Example DGS Menu. This function is for creating a DGS menu. DGS menu is '''invisible''' by default. To show menu, use dgsMenuShow. ==Syntax== <syntaxhighlight lang="lua"> element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] ) </syntaxhighlight> ===Required Arguments=== *'''x:''' A float of the 2D x position of the DGS menu on a player's screen. This i...")
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
[[Image:Dx_5.PNG|frame|Example DGS Menu.]]
This function is for creating a DGS menu.


This function is for creating a DGS menu. DGS menu is '''invisible''' by default. To show menu, use [[dgsMenuShow]].
DGS menu is '''invisible''' by default. To show menu, use [[dgsMenuShow]].


==Syntax==  
==Syntax==  
Line 9: Line 9:
element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )
element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )
</syntaxhighlight>  
</syntaxhighlight>  
[[Image:DGS_Menu_1.png|200px|frame|Example DGS Menu.]]


===Required Arguments===  
===Required Arguments===  
Line 28: Line 30:


local menu = DGS:dgsCreateMenu(200,200,200,600,false)
local menu = DGS:dgsCreateMenu(200,200,200,600,false)
local item = DGS:dgsMenuAddItem(menu,"test1","test1")
local timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
local item2 = DGS:dgsMenuAddItem(menu,"test2","test2",item)
DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddSeparator(menu)
DGS:dgsMenuAddSeparator(menu)
local item = DGS:dgsMenuAddItem(menu,"test3","test3")
local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
local item2 = DGS:dgsMenuAddItem(menu,"test2","test2",item)
DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)


local button = DGS:dgsCreateButton(200,200,300,300,"what",false)
local button = DGS:dgsCreateButton(400,400,100,50,"Right Click Here",false)
addEventHandler("onDgsMouseClickUp",button,function(button)
addEventHandler("onDgsMouseClickUp",button,function(button)
if button == "right" then
if button == "right" then
Line 53: Line 45:
end)
end)
addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
iprint("select",subMenu,uniqueID)
local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
end)
if command == "t.Day" then
addEventHandler("onDgsMenuHover",menu,function(subMenu,uniqueID)
setTime(12,0)
iprint("hover",subMenu,uniqueID)
elseif command == "t.Night" then
end)
setTime(0,0)
elseif command == "w.ClearDay" then
setWeather(0)
elseif command == "w.Storming" then
setWeather(8)
else
return
end
DGS:dgsMenuHide(source)
end,false)


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 07:55, 12 August 2023

This function is for creating a DGS menu.

DGS menu is invisible by default. To show menu, use dgsMenuShow.

Syntax

element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )
Example DGS Menu.

Required Arguments

  • x: A float of the 2D x position of the DGS menu on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the DGS menu on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the DGS menu. This is affected by the relative argument.
  • height: A float of the height of the DGS menu. This is affected by the relative argument.
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing measures relative to the parent.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • parent: This is the parent that the DGS menu is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.

Returns

Returns a dgs-dxmenu element of the created menu if it was successfully created, false otherwise.

Example

DGS = exports.dgs

local menu = DGS:dgsCreateMenu(200,200,200,600,false)
local timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
	DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
	DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
DGS:dgsMenuAddSeparator(menu)
local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
	DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
	DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)

local button = DGS:dgsCreateButton(400,400,100,50,"Right Click Here",false)
addEventHandler("onDgsMouseClickUp",button,function(button)
	if button == "right" then
		DGS:dgsMenuShow(menu)
	end
end)
addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
	local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
	if command == "t.Day" then
		setTime(12,0)
	elseif command == "t.Night" then
		setTime(0,0)
	elseif command == "w.ClearDay" then
		setWeather(0)
	elseif command == "w.Storming" then
		setWeather(8)
	else
		return
	end
	DGS:dgsMenuHide(source)
end,false)

See Also

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips