This issue was reported back in 2013 here, but doesn't seem to have been addressed, so I am nagging you again here to fix it. Why? Because it causes noobs like me to pull their hair out for hours on end wondering why their program is doing something completely bizarre which turns out to be a gLabel firing without any documented reason whatsoever. How are noobs like me supposed to navigate this? Am I supposed to put a message box or sound effect on every single gLabel just to check it's not firing at any other time besides when the documentation says? What other things should I be doing to anticipate omissions in the documentation?
The solution as the old forum post says is to add the gLabels after creating of the control, which fixes the issue.
Gui, Add, Edit, vEdit
Gui, Add, UpDown, vUpDown
GuiControl, +gEdit, Edit
GuiControl, +gUpdown, UpDown
msgbox Edit is firin'
msgbox UpDown is firin'
And yes I do realise it's "not a bug" , but more of a "problem with documented functionality".
Anticipated response: the script "changes the contents of the control" on control creation, which is when the documentation says the gLabel will fire.
Response: then please make it clear in the documentation that the contents of the control are being changed on creation, because there is no reason why any reasonable person would assume this would happen. N.B the act of creating something doesn't entail one of its properties has changed; there is no difference between a red apple that doesn't exist and a green apple that doesn't exist. The apple only has a property of redness once it already exists.