Talk:ctrlCreate

From Bohemia Interactive Community
Jump to navigation Jump to search

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)