ctrlCreate – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "I have found that the button closes after an "OnMouseButtonUp" event, however ctrlRemoveAllEventHandlers does not work in removing it, and ctrlRemoveEventHandler canno...")
 
m (Text replacement - "Killzone Kid" to "Killzone_Kid")
 
(6 intermediate revisions by 4 users not shown)
Line 2: Line 2:
'''However''', interestingly, you can set a "MouseButtonDown" event through code ([[ctrlSetEventHandler]] or [[ctrlAddEventHandler]]) and ''disable'' the control ([[ctrlEnable]]), preventing the MouseButtonUp event from firing, but giving the appearance <br>
'''However''', interestingly, you can set a "MouseButtonDown" event through code ([[ctrlSetEventHandler]] or [[ctrlAddEventHandler]]) and ''disable'' the control ([[ctrlEnable]]), preventing the MouseButtonUp event from firing, but giving the appearance <br>
of being clicked.<br>
of being clicked.<br>
<code>_ctrl = ([[findDisplay]] 12345) [[ctrlCreate]] ["RscButtonMenu", 2];
<code style="display: block">_ctrl = ([[findDisplay]] 12345) [[ctrlCreate]] ["RscButtonMenu", 2];
_ctrl [[ctrlSetText]] "Button";
_ctrl [[ctrlSetText]] "Button";
_ctrl [[ctrlSetEventHandler]] ["MouseButtonDown", "(_this select 0) [[ctrlEnable]] false"];</code><br>
_ctrl [[ctrlSetEventHandler]] ["MouseButtonDown", "(_this select 0) [[ctrlEnable]] false"];</code><br>
Also, if the control is being created in a display that is not the active display, it will not be shown.
Also, if the control is being created in a display that is not the active display, it will not be shown.<br>
One more edit before I have to leave because this is really funny, while testing the above statement, I was creating controls on various displays, and I created one on the main menu which did not show up until leaving the editor. -[[User:DreadedEntity|DreadedEntity]] ([[User talk:DreadedEntity|talk]]) 22:12, 6 February 2016 (CET)
 
:: The display is closed because the button has IDC set to 2, which is reserved by engine. 1 is used by OK buttons and 2 by Cancel buttons. If you use any other number, the display won't be closed. ++[[User:Str|Str]] ([[User talk:Str|talk]]) 09:01, 9 February 2016 (CET)
 
== Historic notes ==
 
<dl class="command_description">
<dt></dt>
<dd class="notedate">Posted on December 30, 2015 - 01:48 (UTC)</dd>
<dt class="note">[[User:Molaron|Molaron]]</dt>
<dd class="note">
"RscListBox" created via ctrlCreate is buggy, you can only select the first seven items.
</dd>
</dl>
 
Fixed sometime in 1.67 [[User:Killzone_Kid|Killzone_Kid]] ([[User talk:Killzone_Kid|talk]]) 19:25, 1 March 2017 (CET)

Latest revision as of 14:48, 12 March 2024

I have found that the button closes after an "OnMouseButtonUp" event, however ctrlRemoveAllEventHandlers does not work in removing it, and ctrlRemoveEventHandler cannot be used due to not knowing the id# for the event.
However, interestingly, you can set a "MouseButtonDown" event through code (ctrlSetEventHandler or ctrlAddEventHandler) and disable the control (ctrlEnable), preventing the MouseButtonUp event from firing, but giving the appearance
of being clicked.
_ctrl = (findDisplay 12345) ctrlCreate ["RscButtonMenu", 2]; _ctrl ctrlSetText "Button"; _ctrl ctrlSetEventHandler ["MouseButtonDown", "(_this select 0) ctrlEnable false"];
Also, if the control is being created in a display that is not the active display, it will not be shown.
One more edit before I have to leave because this is really funny, while testing the above statement, I was creating controls on various displays, and I created one on the main menu which did not show up until leaving the editor. -DreadedEntity (talk) 22:12, 6 February 2016 (CET)

The display is closed because the button has IDC set to 2, which is reserved by engine. 1 is used by OK buttons and 2 by Cancel buttons. If you use any other number, the display won't be closed. ++Str (talk) 09:01, 9 February 2016 (CET)

Historic notes

Posted on December 30, 2015 - 01:48 (UTC)
Molaron
"RscListBox" created via ctrlCreate is buggy, you can only select the first seven items.

Fixed sometime in 1.67 Killzone_Kid (talk) 19:25, 1 March 2017 (CET)