Mit der Zuordnung von Gadgets zu Fenstern habe ich ein kleines Problem.
Folgender Fall mit PB 4.30(x86):
Zwei Fenster öffnen und in jedes ein TextGadget platzieren.
Nun ist es mir nicht möglich, das erste TextGadget erst nach dem Öffnen des zweiten Fensters zu schreiben (mag ja ein ungewöhnlicher Wunsch sein...), trotz SetActiveWindow().
-> Im ersten Fenster erscheint kein TextGadget; im zweiten Fenster erscheint das TextGadget, welches im ersten Fenster erscheinen sollte.
Das Programm habe ich auf ein Minimum gestutzt, aber ich sehe keinen Fehler. Weiß jemand Rat?
Die Taste "Return" wechselt zwischen den Fenstern.
Hier das gestutzte Programm:
Code: Alles auswählen
#KeyReturn = 0
OpenWindow(0, 0, 0, 300, 100, "Erstes Fenster")
AddKeyboardShortcut(0, #PB_Shortcut_Return, #KeyReturn)
; Variante A, folgende Zeile, richtig: schreibt in das erste Fenster
;TextGadget(0, 0, 0, 200, 20, "Erstes Fenster")
OpenWindow(1, 0, 0, 200, 50, "Zweites Fenster")
AddKeyboardShortcut(1, #PB_Shortcut_Return, #KeyReturn)
TextGadget(1, 0, 0, 200, 20, "Zweites Fenster")
HideWindow(1, 1)
; Variante B, folgende 2 Zeilen, falsch: schreiben in das zweite Fenster:
SetActiveWindow(0)
TextGadget(0, 0, 0, 200, 20, "Erstes! Fenster")
Repeat
Define event = WaitWindowEvent()
Select GetActiveWindow()
Case 0
Select event
Case #PB_Event_Menu
Select EventMenu()
Case #KeyReturn
HideWindow(0, 1)
HideWindow(1, 0)
EndSelect
EndSelect ;event
Case 1
Select event
Case #PB_Event_Menu
Select EventMenu()
Case #KeyReturn
HideWindow(1, 1)
HideWindow(0, 0)
EndSelect
EndSelect ;event
EndSelect ;GetActiveWindow
ForEver