findDisplay: Difference between revisions
No edit summary |
(finding a displays manual) |
||
Line 81: | Line 81: | ||
<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. | ||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> | |||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on August 14, 2017 - 12:22 (UTC)</dd> | |||
<dt class="note">[[User:Demellion|Demellion]]</dt> | |||
<dd class="note"> | |||
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:<br/> | |||
<code>//Your display has IDD= -1. | |||
class RscDisplayNew | |||
{ | |||
idd=-1; | |||
scriptName = "RscDisplayNew"; | |||
... | |||
};</code> | |||
<code>//Your display doesn't have IDD | |||
class RscDisplayNew | |||
{ | |||
scriptName = "RscDisplayNew"; | |||
... | |||
};</code> | |||
<code>//Your display doesn't have scriptname with IDD = -1 | |||
class RscDisplayNew | |||
{ | |||
idd=-1; | |||
... | |||
};</code> | |||
<code>//Your display doesn't have scriptname, neither IDD | |||
class RscDisplayNew | |||
{ | |||
... | |||
};</code> | |||
== 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]]: | |||
<code>(uiNamespace getVariable "RscDisplayNew")</code> | |||
'''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. | |||
</dd> | </dd> | ||
</dl> | </dl> | ||
<!-- DISCONTINUE Notes --> | <!-- DISCONTINUE Notes --> |
Revision as of 11:07, 14 August 2017
Description
- Description:
- Find display by its IDD (which is defined in the description.ext or config).
If the specified display can't be found displayNull ("No display") is returned, (which can be tested with the isNull command.) The primary display uses IDD 46. (eg: findDisplay 46). This will return displayNull on a dedicated server (so be sure to check isDedicated if using this in a waitUntil condition). - Groups:
- Uncategorised
Syntax
Examples
- Example 1:
_display = findDisplay 1;
Additional Information
- See also:
- displayCtrlcreateDisplaycreateDialogdialogdisplayNullcontrolNullisNullcreateDisplayctrlCreatedisplayParent
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
Notes
- 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 17 March 2010
- Hendo
- I posted a tutorial on finding and using displays here.
- Posted on 07 March 2014
- EUTWtrnapster
- The Zeus Display uses IDD 312
Bottom Section
- Posted on March 25, 2015 - 22:04 (UTC)
- Austin medic
-
Display 12 is map
- 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.