According to though, "The firemonkey framework prohibits change of focus in some events. In order to change the focus, send a delayed message to the form." (was referring to TabChange Event of TabControl in the handler of which as it seems you can't use SetFocus to focus a child control). So see there for a safer way to do "SetFocus"