ich habe in meinem Programmfenster u.a. ein TreeGadget mit derzeit 20 Einträgen, von denen einige auch Untereinträge (also das, was die Hilfe 'Sublevels' nennt) sind. Da demnächst noch sehr viel mehr Einträge in den Baum hineinkommen, habe ich eine Suchfunktion zum TreeGadget geschrieben. D.h. über dem TreeGadget habe ich ein StringGadget plaziert, in das man einen Suchbegriff eingeben kann, der dann im TreeGadget gefunden werden soll. Ausgelöst wird die Suche durch die Betätigung eines ButtonImageGadgets.
Das Problem besteht nun darin, daß die Suchroutine beim Debuggen einwandfrei funktioniert, aber die Anzeige (das Aufklappen) des Eintrags im TreeGadget nicht. Es folgt der Kode im Case-Zweig zum ButtonImageGadget in meiner Ereignis-Schleife (der angesprungen wird, wenn darauf geklickt wird):
Code: Alles auswählen
Case #Bs_SG ; Bildschaltfläche Suche in Grammatik
St=GetGadgetText(#Ef_SG) ; Suchtext
gf=#False ; gefunden?
For Ix=0 To CountGadgetItems(#Bf_gE)-1
TdE=GetGadgetItemText(#Bf_gE, Ix) ; Text des Eintrags
If FindString(TdE, St, 1, #PB_String_NoCase)
SetGadgetItemState(#Bf_gE, Ix, #PB_Tree_Expanded|#PB_Tree_Selected)
gf=#True: Break ; gefunden
EndIf
Next
If Not gf
MessageRequester("Hinweis", "Der Suchtext wurde nicht gefunden.",
#PB_MessageRequester_Ok|#PB_MessageRequester_Info)
EndIf
Vielen Dank