In PureBasic SetActiveGadget() always has the expected effect, no matter if the window is invisible or visible.
Second Issue: After performing SetActiveGadget() for a StringGadget with content, in SpiderBasic the text caret is placed BEHIND the text. In PureBasic the text caret is placed BEFORE the text in the StringGadget.
Code: Select all
OpenWindow(0, 100, 100, 300, 50, "", #PB_Window_SizeGadget | #PB_Window_SystemMenu | #PB_Window_Invisible) StringGadget(0, 120, 10, 160, 25, "I have the focus") ButtonGadget(1, 10, 10, 100, 25, "Oh, a button") SetActiveGadget(0) ; This have no effect in SpiderBasic but in PureBasic HideWindow(0, #False) ;SetActiveGadget(0) ; Only this have effect in SpiderBasic ; In PureBasic the textcaret is placed before the Text in the Stringfield "|I have the focus" ; In SpiderBasic the textcaret is placed behind the Text in the Stringfield "I have the focus|" CompilerIf #PB_Compiler_OS <> #PB_OS_Web Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow CompilerEndIf