findDisplay: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Inline code|" to "{{ic|")
m (Text replacement - " <dd class="notedate">" to " <dt><dt> <dd class="notedate">")
Line 33: Line 33:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
 
<dt><dt>
<dd class="notedate">Posted on July 07, 2019 - 12:20 (UTC)</dd>
<dd class="notedate">Posted on July 07, 2019 - 12:20 (UTC)</dd>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
Line 67: Line 67:
|}
|}
For a full list, see [[findDisplay/Arma 3 IDD list]].
For a full list, see [[findDisplay/Arma 3 IDD list]].
 
<dt><dt>
<dd class="notedate">Posted on 15 June 2008</dd>
<dd class="notedate">Posted on 15 June 2008</dd>
<dt class="note>[[User:Kronzky|Kronzky]]
<dt class="note>[[User:Kronzky|Kronzky]]
Line 82: Line 82:
<code>(myDisplay [[displayCtrl]] 1111) [[ctrlSetText]] "hello there");</code>
<code>(myDisplay [[displayCtrl]] 1111) [[ctrlSetText]] "hello there");</code>


 
<dt><dt>
<dd class="notedate">Posted on June 25, 2017 - 09:32 (UTC)</dd>
<dd class="notedate">Posted on June 25, 2017 - 09:32 (UTC)</dd>
<dt class="note">[[User:IT07|IT07]]</dt>
<dt class="note">[[User:IT07|IT07]]</dt>
<dd class="note">
<dd class="note">
I have tested the behavior of this command and I found out that it [ findDisplay ] appears to only return the display AFTER any onLoad event handler of that display is done. So, using findDisplay inside an onLoad event handler is useless.
I have tested the behavior of this command and I found out that it [ findDisplay ] appears to only return the display AFTER any onLoad event handler of that display is done. So, using findDisplay inside an onLoad event handler is useless.
 
<dt><dt>
<dd class="notedate">Posted on August 14, 2017 - 12:22 (UTC)</dd>
<dd class="notedate">Posted on August 14, 2017 - 12:22 (UTC)</dd>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dt class="note">[[User:Demellion|Demellion]]</dt>

Revision as of 00:11, 6 April 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
GUI Control

Syntax

Syntax:
Syntax needed
Parameters:
idd: Number
Return Value:
Return value needed

Examples

Example 1:
[] spawn { waitUntil { !isNull findDisplay 46 }; hint "Mission Display is now available!"; };
Example 2:
_display = findDisplay 1;

Additional Information

See also:
allDisplaysdisplayCtrlcreateDisplaycreateDialogdialogdisplayNullcontrolNullisNullcreateDisplayctrlCreatedisplayParent

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 July 07, 2019 - 12:20 (UTC)
Lou Montana
Common IDDs
Display IDD
Mission display 46
Zeus display 312
Pause menu 49
Inventory 602
Chat box 24
Weapon state 300
Map 12
UAV Terminal 160

For a full list, see findDisplay/Arma 3 IDD list.

Posted on 15 June 2008
Kronzky
findDisplay does not find displays defined under RscTitles (even when they are visible).
To access those types of displays, either assign the resource to a global variable, or pass its this value to a script, during the onLoad event: e.g.
class RscTitles {
  class MyRsc {
	 onLoad = "myDisplay = (_this select 0)"; // or
	 // onLoad = "_this execVM 'myDialog.sqf'";
	 ...

You can then use the stored value as you would for regular dialogs: (myDisplay displayCtrl 1111) ctrlSetText "hello there");

Posted on June 25, 2017 - 09:32 (UTC)
IT07
I have tested the behavior of this command and I found out that it [ findDisplay ] appears to only return the display AFTER any onLoad event handler of that display is done. So, using findDisplay inside an onLoad event handler is useless.
Posted on August 14, 2017 - 12:22 (UTC)
Demellion
There are some specific cases, where findDisplay will not be able to find an existing display. Here's the cases and how to act on them:
// Your display has IDD= -1.
class RscDisplayNew
{
	idd = -1;
	scriptName = "RscDisplayNew";
	...
};
// Your display doesn't have IDD
class RscDisplayNew
{
	scriptName = "RscDisplayNew";
	...
};
// Your display doesn't have scriptname with IDD = -1
class RscDisplayNew
{
	idd = -1;
	...
};
// Your display doesn't have scriptname, neither IDD
class RscDisplayNew
{
	...
};
  1. You actually can find a -1 display, but this means finding a display with this IDD might be a problem, when there are a few displays marked as -1.So as you can see, theres an entry called scriptName. You can get a reference to this display by using uiNamespace:(uiNamespace getVariable "RscDisplayNew")NOTE: Variables are overwritten with a reference of the last declared display under the same scriptName entry. Take a look at case 3 for solution.
  2. Displays without IDD's can actually exist. They can be manipulated only in a way described in the first case using uiNamespace.
  3. You can really have this display seeking it manually in a allDisplays return. This is experimental, but working option.
  4. You will have a problem finding this display, since this display doesn't exist even in allDisplays(?) return. Behaviour unknown.