Feedback
Add Control.SetFocus() and Window.ClearFocus()
- Status
- Fixed
- Fixed in
- v26.5.5
- Source discussion
- https://forum.objo.dev/d/79-missing-things-in-class-window
- Last updated
- 2026-05-21
Public summary
Add a public focus API for desktop windows and controls. Objo Studio already exposes Control.FocusReceived and Control.FocusLost, but ObjoBasic has no public API for moving keyboard focus from code. This blocks common workflows such as focusing the first invalid field, putting focus in a default text field when a window opens, or deliberately clearing focus after a command completes.
Suggested API:
TextField1.SetFocus()
Window1.ClearFocus()
Prefer Control.SetFocus() and Window.ClearFocus() over Window.SetFocus(control): controls own the action of becoming focused, and the window owns the action of clearing focus from all controls.
Example workflow:
Event Opening()
TextField1.SetFocus()
End Event
Sub Save()
If NameField.Text = "" Then
NameField.SetFocus()
Return
End If
Self.ClearFocus()
End Sub