| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Amiga-Falcon
Anmeldedatum: 24.12.2006 Beiträge: 155
|
Verfasst am: Do Mai 15, 2008 2:27 pm Titel: Autoscroll für ListView einschalten - Wie ? |
|
|
Hi Leutz,
ich such den halben Tag schon eine Möglichkeit, eine ListView automatisch zur markierten Zeile srollen zu lassen, finde aber (auch hier) nix richtiges dazu.
Problem:
Ich habe ein GUI (Fenster 1) und eine ListView (im Fenster 2).
Im Fenster 1 habe ich eine Editbox, in der Datensätze angezeigt werden.
Diese kann ich mit +/- durchscrollen. => Klappt suppi.
Dazu habe ich ein zweites Fenster, das eine Listenansicht aller Datensätze beinhaltet). => Klappert auch 1A.
Klicke ich im ListView eine Zeile an, wird der entsprechende Datensatz im Fenster 1 angezeigt => Das klappt ebenfalls suppi.
Blättere ich mit +/- im Fenster 1 vor/zurück, soll die entsprechende Zeile in der ListView (Fenster 2) markiert werden => Und auch das klappt bestens.
Nun hat die ListView z.B. 40 Zeilen, meine Daten umfassen aber 500 Datensätze. Nun möchte ich, daß die ListView, falls die merkierte Zeile nicht gerade angezeigt wird, automatisch zu eben dieser Scrollt => Und genau das kriege ich nicht hin ?!
Also nochmal ein Beispiel:
- Die ListView hat 40 Zeilen.
- Es werden aktuell die Datensätze 1-40 dort angezeigt.
- ich wähle mit +/- den Datensatz 100 aus.
- Das ListView markiert zwar Datensatz 100, ich muß aber manuell runter scrollen, um das zu sehen.
Dieses Scrollen soll automatisch vor sich gehen.
Wie immer vielen, lieben Dank im Voraus,
Amiga-Falcon |
|
| Nach oben |
|
 |
Bentschi
Anmeldedatum: 03.05.2008 Beiträge: 25
|
Verfasst am: Do Mai 15, 2008 6:28 pm Titel: |
|
|
hab was für dich
kannst etwas rumprobieren damit
| Code: | SendMessage, 0x115, 0, 0, Control, Fenstertitel ;Eine Zeile rauf
SendMessage, 0x115, 1, 0, Control, Fenstertitel ;Eine Zeile runter |
_________________ Mein Name ist Hase
und ich weis von NIX. |
|
| Nach oben |
|
 |
Amiga-Falcon
Anmeldedatum: 24.12.2006 Beiträge: 155
|
Verfasst am: Do Mai 15, 2008 8:22 pm Titel: |
|
|
Vielen Dank !
Ich werd´s mal ausprobieren.
Ich komm einfach mit diesen "Sendmessage 0x ..." Befehlen nicht richtig zu Rande.
Man kann(wohl ?) unheimlich viel damit machen, aber ich schnall das einfach nicht, wann ich wo wie und vor allem warum (!) welchen Code benutzen muß und welche sonstigen Parameter ich noch angeben muß.
Sollte es also einen Befehl geben, um z.B. Zeile n mit einem Sendmessage-Befehl direkt aufzurufen, würde mir das sehr helfen.
Amiga-Falcon |
|
| Nach oben |
|
 |
Bentschi
Anmeldedatum: 03.05.2008 Beiträge: 25
|
Verfasst am: Do Mai 15, 2008 9:06 pm Titel: |
|
|
ehrlich gesagt kenn ich mich auch nicht so gut aus.
aber du solltest mal versuchen den 3. und 4. parameter
in einen anderen zahlenwert zu ändern.
mal sehen was dabei rauskommt.
ich weis es selbst nicht genau  _________________ Mein Name ist Hase
und ich weis von NIX. |
|
| Nach oben |
|
 |
Bentschi
Anmeldedatum: 03.05.2008 Beiträge: 25
|
Verfasst am: Do Mai 15, 2008 9:18 pm Titel: |
|
|
Da du ja weist welche stelle in der listview markiert ist dürfte es eigentlich
kein problem sein.
Da ich annehme (annehmen = nix wissen) , dass der 4. parameter
die anzahl der zeilen angiebt die gescrollt werden, könntest du es
doch mal mit dieser funktion ganz nach oben scrollen lassen und daraufhin
könntest du die position eingeben in die runtergescrollt werden sollte.
Diese position könntest du in vorhinein schon in eine variable setzen mit:
LV_GetCount("Selected") _________________ Mein Name ist Hase
und ich weis von NIX. |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1015 Wohnort: Berlin
|
Verfasst am: Fr Mai 16, 2008 5:59 am Titel: |
|
|
Moin,
wie wär's mit:
LV_Modify(RowNumber, Options)
Row Options:
Vis [1.0.44+]: Ensures that the specified row is completely visible by scrolling the ListView, if necessary. This has an effect only for LV_Modify(); for example: LV_Modify(RowNumber, "Vis") _________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
Bentschi
Anmeldedatum: 03.05.2008 Beiträge: 25
|
Verfasst am: Fr Mai 16, 2008 12:31 pm Titel: |
|
|
Hab ja auch nicht gesagt, dass man umständlich machen MUSS.  _________________ Mein Name ist Hase
und ich weis von NIX. |
|
| Nach oben |
|
 |
Amiga-Falcon
Anmeldedatum: 24.12.2006 Beiträge: 155
|
Verfasst am: Fr Mai 16, 2008 11:35 pm Titel: |
|
|
Der Tipp war super klasse !
Mille mille gracie !!!!!
Gibt es eigentlich irgendwo eine (komplette) Liste aller "Befehl", die man über SendMessage rausgeben kann ?
Also nach dem Motto
0x123 = Schließsymbol verkleinern (nur ein Beispiel !)
0x358 = Mauszeiger vergrößern (oder so...)
Amiga-Falcon |
|
| Nach oben |
|
 |
AGU Gast
|
|
| Nach oben |
|
 |
|