Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   2 Listviews synchronisieren (https://www.delphipraxis.net/163925-2-listviews-synchronisieren.html)

marcibaer 21. Okt 2011 17:54

2 Listviews synchronisieren
 
Hallo zusammen,

ich habe ein TPageControl mit jeweils 1 Listview drauf.
Wie kann ich nun das Scrollen der beiden Listviews synchronisieren?
Ich finde leider kein OnScroll oder ähnliches!

Vielen Dank für Eure Hilfe,

Marc

Sir Rufo 21. Okt 2011 17:59

AW: 2 Listviews synchronisieren
 
Ein PageControl mit jeweils einem ListView
Code:
1*1=1
Ich bin bis jetzt noch bei einer ListView :stupid:

Furtbichler 21. Okt 2011 18:03

AW: 2 Listviews synchronisieren
 
Das Einfachste, was mir jetzt einfällt wäre ein Timer, der ab und zu schaut, welches denn das oberste Item ist "ListView.TopItem" oder "GetItemAt(0,0)" und dann den Cline mit ScrollBy irgendwie dazuzubringen, das gleiche Item anzuzeigen. Bisserl von hinten durch die Brust ins auge, sollte aber klappen.
Zitat:

Zitat von Sir Rufo (Beitrag 1131808)
Ein PageControl mit jeweils einem ListView
Code:
1*1=1
Ich bin bis jetzt noch bei einer ListView :stupid:

Genau, und Schreibfehler scheiden aus...

marcibaer 21. Okt 2011 18:12

AW: 2 Listviews synchronisieren
 
Zitat:

Zitat von Sir Rufo (Beitrag 1131808)
Ein PageControl mit jeweils einem ListView
Code:
1*1=1
Ich bin bis jetzt noch bei einer ListView :stupid:

Zu undeutlich ausgedrückt?!:)
Ich meine ein 2-Seitiges Pagecontrol, bei dem JEDE Seite EIN Listview hat.

Marc

omata 22. Okt 2011 00:32

AW: 2 Listviews synchronisieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielleicht so...

ConnorMcLeod 22. Okt 2011 05:38

AW: 2 Listviews synchronisieren
 
Zitat:

Zitat von marcibaer (Beitrag 1131806)
ich habe ein TPageControl mit jeweils 1 Listview drauf.
Wie kann ich nun das Scrollen der beiden Listviews synchronisieren?

Wozu eigentlich? Man sieht immer nur eine ListView, weil die andere auf einer anderen Page ist, oder? Nur, wenn die Page gewechselt wird, wird's interessant. Dann kannst Du im OnChange oder im OnChanging herausfinden, welche Page gerade aktiv war und welche gerade aktiv wird. Danach setzt Du das erste Element ungefähr so:
Delphi-Quellcode:
var
  liTopIndex: integer;
begin
  liTopIndex := lbVergangenheit.SendMessage(lbVergangenheit.Handle, LB_GETTOPINDEX, 0, 0);
  if (-1 < liTopIndex) then
  begin
    lbZukunft.Perform(lbZukunft.Handle, LB_SETTOPINDEX, liTopIndex, 0);
  end;
end;
Ungetestet...

Furtbichler 22. Okt 2011 08:17

AW: 2 Listviews synchronisieren
 
Er hat ListViews, da kann man den TopIndex nicht so einfach setzen. Aber sonst hast Du recht.

ConnorMcLeod 22. Okt 2011 13:36

AW: 2 Listviews synchronisieren
 
Yo, habe ich schlecht gelesen bzw überlegt; sollte vllt doch mal ausschlafen ...
Egal, Fraaage: braucht man unbedingt ZWEI ListViews? Im OnChange kannste den Parent von einem ListView auf das künftig aktive TabSheet setzen und damit dort anzeigen. Ersparnis: 1 ListView und das Syncen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz