Wenn ich mit der listview.dll von Frank arbeite und gebe einen Suchstring ein, wird der auch gefunden und mit SELECTLINE(listview&,y&,1) blau unterlegt.
Wie kann ich es ermöglichen, daß der selektierte Inhalt dann ganz nach oben gescrollt wird ?
Listview-Zeile nach oben scrollen
-
horst_ -
29. Januar 2011 um 13:17
Aufgrund von notwendige Wartungsarbeiten am Server kann es zu kurzen Downtimes und längere Ladezeiten kommen.
-
-
-
Probier mal:
SELECTLINE(listview&,GetLines(listview&)-1,3)
SELECTLINE(listview&,y&,1)wenn du die selektierte Zeile ganz unten haben möchtest, sollte das so funktionieren:
SELECTLINE(listview&,0,3)
SELECTLINE(listview&,y&,1) -
Frank
Die Auswahlzeile soll nach OBEN - dein Vorschlag ändert nichts -
Hatte die Richtungen vertauscht und -1 vergessen. Teste nochmal meinen korregierten Vorschlag von oben.
Diesmal getestet. Empfiehlt sich immer, einen kurzen Democode einzustellen, damit man es einfacher testen kann. -
Frank
Du bist der Grösste ! -
Frank
Die Selektierung funktioniert nur, wenn ich diese Zeile aus dem Code raus
schmeisse:ZitatEnableWindow %hwnd,0
Die Listview-Suchfunktion findet den Eintrag, aber die farbige Unterlegung (blauer Balken) klappt nicht.
Was meinst du, wie lange ich da geflucht und gesucht habe.
Normal schreibe ich die Zeile immer, wenn ein Dialogfenster mit einem Edit geöffnet wird.
Beim Schließen dann natürlich:ZitatEnableWindow %hwnd,1
Kann man aber hier nicht machen -
Wenn du das Parent-Fenster des Listviews "ausschaltest", wirkt sich das natürlich auch auf die Parent-Controls aus. Die sind dann auch inaktiv...
-
Ja jetzt weiß ich das auch -
hab das ja nur hierhin geschrieben, damit sich in der gleichen Lage ein anderer nicht "den Wolf suchen" muss -
Das finde ich sehr nett von dir.
-
...und weil du mir ja den entscheidenden Tipp gegeben hast, können andere, wenn eine Mehrfachsuchfunktion gebraucht wird, nur noch anpassen
Code
Alles anzeigenPROC MEHRFACH_SUCHE ADDHOTKEY 200,13,0 'Suchen ADDHOTKEY 212,40,0 'Weitersuchen ADDHOTKEY 238,38,0 ADDHOTKEY 222,27,0 'Abbrechen DECLARE such_win&,suchen&,such_back&,suchen1&,such_weiter&,such_EE% such_EE%=0 WindowStyle 2 such_win&=CREATE("WINDOW",%Hwnd,UPPER$(programm$)+vers$+" - Suchfunktion",(%MaxX/2+40),(%MaxY/2+60),400,160) txt%=CREATE("TEXT",such_win&,"Groß- oder Kleinschreibung wird nicht ausgewertet !",10,5,400,20) SetFont txt%,font1% suchen&=CREATE("EDIT",such_win&,suchen$,10,30,255,20) SetFont suchen&,font0% suchen1&=CREATE("DEFBUTTON",such_win&,"Suchen",285,28,100,25) SetFont suchen1&,font0% tip%=CREATE("TOOLTIP",such_win&,suchen1&," Mit der ENTER-Taste suchen ") such_weiter&=CREATE("BUTTON",such_win&,"Weitersuchen",285,60,100,25) SetFont such_weiter&,font0% tip%=CREATE("TOOLTIP",such_win&,such_weiter&," Mit der Richtungstaste NACH UNTEN \nweitersuchen ") such_back&=CREATE("BUTTON",such_win&,"ESC Zurück",285,100,100,25) SetFont such_back&,font0% tip%=CREATE("TOOLTIP",such_win&,such_back&," Die ESC-Taste schließt die Eingabe ") text$="Bei nicht vorhandener Eingabe wird die Suchfunktion mit Meldung abgebrochen. \n\ ENTER und NACH UNTEN-Taste helfen beim Suchen" txt%=CREATE("TEXT",such_win&,text$,10,60,255,70) SetFont txt%,font0% SETFOCUS(suchen&) WHILENOT such_EE% WAITINPUT IF CLICKED(suchen1&) | MenuItem(200) suchen$=GETTEXT$(suchen&) x&=0 y&=0 'y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),1,addr(x&)) 'Gross- und Kleinschreibung y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),0,addr(x&)) IF y& > -1 SELECTLINE(listview&,0,6) SELECTLINE(listview&,GetLines(listview&)-1,3) SELECTLINE(listview&,Y&,1) ENDIF IF Y& = -1 Y&=0 Messagebox(suchen$+" nicht gefunden !"," Suchbegriff nicht vorhanden !",48) such_EE%=1 DesTroyWindow(such_win&) EnableWindow %hwnd,1 SetActiveWindow(%hwnd) SELECTLINE(listview&,0,6) SELECTLINE(listview&,0,1) ENDIF ENDIF '------------------------------------------------------------ IF CLICKED(such_weiter&) | MenuItem(212) suchen$=GETTEXT$(suchen&) x&=X& y&=(Y&+1) 'y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),1,addr(x&)) 'Gross- und Kleinschreibung y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),0,addr(x&)) SELECTLINE(listview&,0,6) SELECTLINE(listview&,GetLines(listview&)-1,3) SELECTLINE(listview&,y&,1) IF y& = -1 Y&=0 Messagebox(suchen$+" nicht gefunden !"," Suchbegriff nicht vorhanden !",48) such_EE%=1 DesTroyWindow(such_win&) EnableWindow %hwnd,1 SetActiveWindow(%hwnd) SELECTLINE(listview&,0,7) SELECTLINE(listview&,Y&,1) ENDIF ENDIF '------------------------------------------------------------ IF MenuItem(238) suchen$=GETTEXT$(suchen&) x&=X& y&=(Y&-1) 'y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),1,addr(x&)) 'Gross- und Kleinschreibung y&=SearchText(listview&,y&,GetLines(listview&),x&,addr(suchen$),0,addr(x&)) SELECTLINE(listview&,0,6) SELECTLINE(listview&,GetLines(listview&)-1,3) SELECTLINE(listview&,y&,1) IF y& = -1 Y&=0 Messagebox(suchen$+" nicht gefunden !"," Suchbegriff nicht vorhanden !",48) such_EE%=1 DesTroyWindow(such_win&) SetActiveWindow(%hwnd) SELECTLINE(listview&,0,6) SELECTLINE(listview&,Y&,1) ENDIF ENDIF HACH: '------------------------------------------------------------ IF CLICKED(such_back&) | MenuItem(222) such_EE%=1 DesTRoyWindow(such_win&) SetACtiveWindow(%Hwnd) SELECTLINE(listview&,0,6) SELECTLINE(listview&,y&,1) ENDIF ENDWHILE ENDPROC
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!