Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum: 04.10.17 18:50
Wenn die eingesetzte Zeile nach dem Einfügen selektiert ist
(blau hinterlegt), sollte das doch nach dem Einfügen der
Zeile mit
SetCurSel gb, GetCurSel(gb)
gehen bzw. dorthin scrollen.
Hast du das schon mal probiert ?
Ist halt nur schade, daß AddString() keine Listenposition
zurück gibt, sondern nur Erfolg oder nicht. Oder doch ?
Habe obigen Code etwas geändert :
Declare Handle gb, btn1, edit1, String sp, such, Long pos, z
sp = "Nummer;0;60;Name;0;100;"
Window 600, 400
btn1 = Create("Button", %HWnd, "Suche", 10, 10, 60, 25)
edit1 = Create("Edit", %HWnd, "", 80, 10, 60, 25)
gb = Create("Gridbox", %HWnd, sp, 1, 10, 50, 180, 150)
FuelleGB()
UserMessages $0010
WhileNot %Umessage = $0010
WaitInput
If Clicked(btn1)
such = GetText$(edit1)
If such <> ""
pos = SelectString(gb, -1, such)
EndIf
EndIf
EndWhile
Proc FuelleGB
WhileLoop 0, 150
z = AddString(gb, Str$(&LOOP) + "|" + ".Eintrag")
SetCurSel gb, z
EndWhile
EndProc
End
Das scheint irgendwie doch zu funktionieren 
Als letzter Eintrag wird die 150 markiert, was auch dem letzten
AddString() entspricht. Bloß hängt der halt in der Mitte wegen
der ASCII-Sortierung.
Horst, müßtest du mal für deinen Fall ausprobieren ?
H.Brill
XProfan X4 + FreeProfan
|
|