Scrollbare Tabelle mit 2 feststehenden Spalten

Topsen

Mitglied
Hallo,

ich möchte eine bestehende Tabelle so umbauen, dass beim Scrollen, die ersten beiden Spalten stehen bleiben.
Die Tabelle habe ich als CListCtrl realisiert.
Mein erster Gedanke war, einfach eine zweite seperate Tabelle zu erstellen und diese einfach vor die bestehende zu stellen. Diese würde dann die zwei stehenden Spalten repräsentieren.
Allerdings müsste sich dann diese Tabelle auch mit nach unten scrollen, wenn in der anderen Tabelle nach unten gescrollt wird.
Ich habe nun versucht beim scrollen der Haupttabelle, die Funktion OnVScroll(), der neuen Tabelle aufzurufen.
Das funktioniert aber nicht, bekomme die Meldung "Cannot access protected member"

Jemand eine Idee?

Danke,

Topsen
 
Habe jetzt eine andere Möglichkeit entdeckt.
Die Haupttabelle ist von meiner Klasse CMyListCtrl (abgeleitet von CListCtrl).
Immer wenn dort ein Scroll Event eintritt, versuche ich beim anderen Listenkontroll der ersten Tabelle mit SetScrollPos() die Position zu verändert, aber es ändert jediglich die Scrollbarposition nicht den Inhalt der Tabelle und das auch nur wenn ich den Scrollbalken ziehe. Auf klicks nach oben oder unten reagiert sie nicht.
 
Hallo!

Ich hab grad so ein ähnliches Problem. Habe 2 RichEdit Felder. Wenn in einem gescrollt wird, soll das andere mitgescrollt werden.
Habe es so versucht:
Code:
void CCompareDlg::OnVscrollRicheditFile1() 
{
	m_REditFile2.SetScrollPos(SB_VERT, m_REditFile1.GetScrollPos(SB_VERT));
}

Allerdings bewegt sich da gar nichts im zweiten Feld.

Lösungen?
 
Hmm.. nicht wirklich.. versuch gerade auch eine Ausgabe einer Tabelle in einem Dialog zu realisieren und hab keinen Plan, wie ich das machen soll.. *arg*
 
Mit SetScrollPos setzt Du tatsächlich nur die Position des Scrollbuttons im Scrollbar. Du mußt die empfangene Scroll-Message an das andere Fenster weiterleiten (SendMessage(...)).
 
Zurück