GuiCreateButton: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(27 intermediate revisions by 9 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
This function allows creation of a GUI Button, which is a clickable item as part of GUI.
This function allows creation of a GUI Button, which is a clickable item as part of GUI.
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
element guiCreateButton ( float x, float y, float width, float height, string text, bool relative, [ element parent = nil, function callbackOnClick ] )
element guiCreateButton ( float x, float y, float width, float height, string text, [ bool relative = false, gui-element parent = nil ] )
</syntaxhighlight>  
</syntaxhighlight>  
{{OOP||[[Element/GUI/Button|GuiButton]]}}


===Required Arguments===  
===Required Arguments===  
[[Image:Button.png|thumb|GUI Test Button]]
*'''x:''' A float of the 2D x position of the GUI button on a player's screen.  This is affected by the ''relative'' argument.
*'''x:''' A float of the 2D x position of the GUI button on a player's screen.  This is affected by the ''relative'' argument.
*'''y:''' A float of the 2D y position of the GUI button on a player's screen. This is affected by the ''relative'' argument.
*'''y:''' A float of the 2D y position of the GUI button on a player's screen. This is affected by the ''relative'' argument.
Line 13: Line 15:
*'''height:''' A float of the height of the GUI button. This is affected by the ''relative'' argument.
*'''height:''' A float of the height of the GUI button. This is affected by the ''relative'' argument.
*'''text:''' A string of the text that will be displayed as a label on the button.
*'''text:''' A string of the text that will be displayed as a label on the button.
*'''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 sizes relative to the parent.


<!-- Only include this section below if there are optional arguments -->
===Optional Arguments===  
===Optional Arguments===  
{{OptionalArg}}  
{{OptionalArg}}  
*'''parent:''' This is the parent that the gui button is attached to.  Sizes and positioning will be made relative to this parent. If no parent is passed, the parent will become the screen - causing relative positioning and sizing according to screen positioning.
*'''relative:''' This is whether sizes and positioning are relative.  If this is ''true'', then all ''x, y, width'' and ''height'' floats must be between 0 and 1, representing sizes relative to the parent.
*'''callbackOnClick :''' This is a function representing the function that will be called when clicking this GUI Button.  This is optional, and the [[onClientClick]] event can be used as an alternative.
*'''parent:''' This is the parent that the gui button 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===
Returns an element of the created button if it was successfully created, false otherwise.
Returns an [[element]] of the created [[Element/GUI/Button|button]] if it was successfully created, false otherwise.


==Example==  
==Example==  
This example creates an edit box alongside an "Output!" button.  When the button is clicked, it will output the message in the edit box into the Chat Box.
This example creates an edit box alongside an "Output!" button.  When the button is clicked, it will output the message in the edit box into the Chat Box.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--create our button
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "Output!", true )
--Create an edit box and define it as "editBox".
editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "Type your message here!", true )
-- and attach our button to the outputEditBox function
addEventHandler ( "onClientGUIClick", editBox, outputEditBox )
guiEditSetMaxLength ( editBox, 128 ) --the max chatbox length is 128, so force this
--setup our function to output the message to the chatbox
--setup our function to output the message to the chatbox
function outputEditBox ()
function outputEditBox ()
local text = guiGetText ( editBox )--get the text from the edit box
        local text = guiGetText ( editBox )--get the text from the edit box
outputChatBox ( text ) --output that text
        outputChatBox ( text ) --output that text
end
end
 
addEventHandler ( "onClientGUIClick", button, outputEditBox )
--create our button and attach it to the outputEditBox function
guiCreateButton( 0.7, 0.1, 0.2, 0.1, "Output!", true, nil, outputEditBox )
--Create an edit box and define it as "editBox".
editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "Type your message here!", true )
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{GUI_functions}}
{{GUI_functions}}
[[ru:guiCreateButton]]
{{GUI_events}}

Latest revision as of 08:09, 30 October 2023

This function allows creation of a GUI Button, which is a clickable item as part of GUI.

Syntax

element guiCreateButton ( float x, float y, float width, float height, string text, [ bool relative = false, gui-element parent = nil ] )

OOP Syntax Help! I don't understand this!

Method: GuiButton(...)


Required Arguments

GUI Test Button
  • x: A float of the 2D x position of the GUI button on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the GUI button on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the GUI button. This is affected by the relative argument.
  • height: A float of the height of the GUI button. This is affected by the relative argument.
  • text: A string of the text that will be displayed as a label on the button.

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.

  • relative: This is whether sizes and positioning are relative. If this is true, then all x, y, width and height floats must be between 0 and 1, representing sizes relative to the parent.
  • parent: This is the parent that the gui button 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 an element of the created button if it was successfully created, false otherwise.

Example

This example creates an edit box alongside an "Output!" button. When the button is clicked, it will output the message in the edit box into the Chat Box.

--create our button
button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "Output!", true )
--Create an edit box and define it as "editBox".
editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "Type your message here!", true )
-- and attach our button to the outputEditBox function
addEventHandler ( "onClientGUIClick", editBox, outputEditBox )
guiEditSetMaxLength ( editBox, 128 ) --the max chatbox length is 128, so force this

--setup our function to output the message to the chatbox
function outputEditBox ()
        local text = guiGetText ( editBox )--get the text from the edit box
        outputChatBox ( text ) --output that text
end
addEventHandler ( "onClientGUIClick", button, outputEditBox )

See Also

General functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Boxes

Gridlists

Memos

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows

Input

GUI