buttonSetAction: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "</dd> <dt><dt>" to "</dd> <dt><dt>")
m (Text replacement - "<dl class="command_description"> <dt></dt>" to "<dl class="command_description"> <dt></dt>")
Line 60: Line 60:


<dl class="command_description">
<dl class="command_description">
<dt></dt>
<dt></dt>
<dd class="notedate">Posted on October 5, 2009 - 16:23</dd>
<dd class="notedate">Posted on October 5, 2009 - 16:23</dd>
Line 73: Line 74:


<dl class="command_description">
<dl class="command_description">
<dt></dt>
<dt></dt>
<dd class="notedate">Posted on February 15, 2016 - 10:15 (UTC)</dd>
<dd class="notedate">Posted on February 15, 2016 - 10:15 (UTC)</dd>

Revision as of 14:26, 12 June 2021

Hover & click on the images for description

Description

Description:
Set the action of a control of the currently active user dialog. The script statement is executed on button release and _this is available, but contains ""; See Arma: GUI Configuration for more information about user dialogs. Works with:
Groups:
GUI Control

Syntax

Syntax:
buttonSetAction [idc, action]
Parameters:
idc: Number - Button IDC
action: String - SQS code body that should be executed when the button/active text is clicked
Return Value:
Nothing

Alternative Syntax

Syntax:
control buttonSetAction action
Parameters:
control: Control - Button control
action: String - SQS code body that should be executed when the button/active text is clicked
Return Value:
Nothing

Examples

Example 1:
buttonSetAction [100, "player exec ""reply.sqs"""];
Example 2:
_ctrl buttonSetAction "if (alive bob) then {hint 'alive'} else {hint 'dead'}"; // SQF but SQS compatible, see SQS
Example 3:
Script is SQS_control buttonSetAction "hint format ['Is SQS: %1', !isNil '_time']";

Additional Information

See also:
buttonAction

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on October 5, 2009 - 16:23
kungtotte
When using buttonSetAction for an ActiveText control from a script, you cannot use any variables local to the script in it. /* This will print 'any bar' in the hint box, since _foo has no value according to buttonSetAction */ _foo = "foo"; buttonSetAction [100, "hint format [""%1 bar"", _foo];"];
Posted on February 15, 2016 - 10:15 (UTC)
Molaron
This command does not overwrite the button's action that was set via "action" in the .hpp of the dialog
Posted on June 11, 2016 - 19:24 (UTC)
Nomisum
To use variables local to the defining script, a syntax like the one below needs to be used: _foo = "foo"; buttonSetAction [100, format ["hint '%1 bar'", _foo]]; works! thanks to Kronzky for commenting this workaround in the VBS wiki