GuiCreateButton: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
(32 intermediate revisions by 11 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
This function is for creating a new GUI button
{{Client function}}
 
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, callback on_click ] )
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===  
<!-- List each argument one per line. This should be the argument's name as in the argument list above, NOT the argument's data type -->
[[Image:Button.png|thumb|GUI Test Button]]
*'''argumentName:''' description
*'''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.


<!-- Only include this section below if there are optional arguments -->
===Optional Arguments===  
===Optional Arguments===  
{{OptionalArg}}  
{{OptionalArg}}  
*'''argumentName2:''' description
*'''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.
*'''argumentName3:''' description
*'''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===
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check -->
Returns an [[element]] of the created [[Element/GUI/Button|button]] if it was successfully created, false otherwise.
Returns ''true'' if blah, ''false'' otherwise.


==Example==  
==Example==  
<!-- Explain what the example is in a single sentance -->
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 does...
<syntaxhighlight lang="lua">
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized -->
-- Create a simple button
local myButton = guiCreateButton(0.30, 0.15, 0.05, 0.03, "Click me", true)
 
-- Attach a click event to the button to change its text
addEventHandler("onClientGUIClick", myButton, function()
    guiSetText(myButton, "Clicked!")
end)
</syntaxhighlight>
 
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--This line does...
-- Custom chat input
blabhalbalhb --abababa
local myButton = guiCreateButton(0.30, 0.20, 0.05, 0.03, "Send", true)
--This line does this...
local myInput = guiCreateEdit(0.36, 0.20, 0.13, 0.03, "", true)
mooo
 
addEventHandler("onClientGUIClick", myButton, function()
    local myText = guiGetText(myInput, "") -- Grab the input value
    if myText ~= "" then -- Make sure the input not empty
        outputChatBox(myText)
        guiSetText(myInput, "") -- Clear the input
    end
end)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc -->
{{GUI_functions}}
{{GUI_functions}}
[[Category:Incomplete]] -- leave this unless you complete the function
[[ru:guiCreateButton]]
{{GUI_events}}

Latest revision as of 09:06, 26 November 2025

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 a simple button
local myButton = guiCreateButton(0.30, 0.15, 0.05, 0.03, "Click me", true)

-- Attach a click event to the button to change its text
addEventHandler("onClientGUIClick", myButton, function()
    guiSetText(myButton, "Clicked!")
end)
-- Custom chat input
local myButton = guiCreateButton(0.30, 0.20, 0.05, 0.03, "Send", true)
local myInput = guiCreateEdit(0.36, 0.20, 0.13, 0.03, "", true)

addEventHandler("onClientGUIClick", myButton, function()
    local myText = guiGetText(myInput, "") -- Grab the input value
    if myText ~= "" then -- Make sure the input not empty
        outputChatBox(myText)
        guiSetText(myInput, "") -- Clear the input
    end
end)

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