OnClientGUIMouseDown: Difference between revisions
Jump to navigation
Jump to search
m (→See Also) |
(Replace to predefined variables.) |
||
| Line 18: | Line 18: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
addEventHandler( "onClientGUIMouseDown", | addEventHandler( "onClientGUIMouseDown", root, | ||
function ( btn, x, y ) | function ( btn, x, y ) | ||
if btn == "left" then | if btn == "left" then | ||
| Line 28: | Line 28: | ||
); | ); | ||
addEventHandler( "onClientGUIMouseUp", | addEventHandler( "onClientGUIMouseUp", root, | ||
function ( btn, x, y ) | function ( btn, x, y ) | ||
if btn == "left" then | if btn == "left" then | ||
| Line 36: | Line 36: | ||
); | ); | ||
addEventHandler( "onClientCursorMove", | addEventHandler( "onClientCursorMove", root, | ||
function ( _, _, x, y ) | function ( _, _, x, y ) | ||
if clickedElement then | if clickedElement then | ||
Latest revision as of 12:46, 2 April 2023
This event is fired when the user clicks certain mouse button on a GUI element.
Parameters
string button, int absoluteX, int absoluteY
- button: the name of the mouse button that the GUI element was clicked with, can be left, right, or middle.
- absoluteX: the X position of the mouse cursor, in pixels, measured from the left side of the screen.
- absoluteY: the Y position of the mouse cursor, in pixels, measured from the top of the screen.
Source
The source of this event is the GUI element that was clicked.
Example
This example show how to add very basic click'n'drag feature for GUI elements (only for those which parent element is gui-root)
addEventHandler( "onClientGUIMouseDown", root,
function ( btn, x, y )
if btn == "left" then
clickedElement = source; -- store the clicked element in a global variable
local elementPos = { guiGetPosition( source, false ) };
offsetPos = { x - elementPos[ 1 ], y - elementPos[ 2 ] }; -- get the offset position
end
end
);
addEventHandler( "onClientGUIMouseUp", root,
function ( btn, x, y )
if btn == "left" then
clickedElement = nil;
end
end
);
addEventHandler( "onClientCursorMove", root,
function ( _, _, x, y )
if clickedElement then
guiSetPosition( clickedElement, x - offsetPos[ 1 ], y - offsetPos[ 2 ], false );
end
end
);
See Also
Input
GUI
- onClientGUIAccepted
- onClientGUIBlur
- onClientGUIChanged
- onClientGUIClick
- onClientGUIComboBoxAccepted
- onClientGUIDoubleClick
- onClientGUIFocus
- onClientGUIMouseDown
- onClientGUIMouseUp
- onClientGUIMove
- onClientGUIScroll
- onClientGUISize
- onClientGUITabSwitched
- onClientMouseEnter
- onClientMouseLeave
- onClientMouseMove
- onClientMouseWheel
Client event functions
- triggerLatentServerEvent
- triggerServerEvent
- Shared
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled