LVN_ODCACHEHINT-Message bei CListCtrl kommt nicht
-
Aus meiner Tabelle vom Type CListCtrl möchte ich den sichtbaren Teil der Daten grafisch darstellen. Dies sollte eigentlich in der Message von LVN_ODCACHEHINT passieren, ich komme dort aber nie an, egal ob ich den Scrollbalken bewege oder auf das Steuerelement klicke. Könnte es daran liegen, dass ich die Tabelle als Report-View und nicht, wie in der Hilfe angegeben, als List-View vereinbart habe ?
-
Laut MSDN muss es sich hierbei um ein virtuelles ListViewCtrl handeln, welches Du wohl nicht erstellt hast.
Dann fang doch einfach LVN_ENDSCROLL ab, frage ab, ob sich GetTopIndex geändert hat und aktualisiere dann!
-
Hallo Rene,
danke für Deinen Hinweis, offenbar sendet mein eingefügtes CListCtrl diese Message nicht, obwohl der ClassWizzard mir diese anbietet. Das Ereignis LVN_ENDSCROLL finde ich nirgends, wie kann ich dieses abfangen ?
Notfalls muß ich mir etwas ganz anderes einfallen lassen.Vielen Dank
Maik
-
Ich seh gerade, LVN_ENDSCROLL gibts erst ab WinXP ...
Dann musst Du eben WM_VSCROLL innerhalb von PreTranslateMessage des ListCtrl-Parents verarbeiten und abfragen, ob gerade das ListCtrl gescrollt wird.
-
Nachtrag:
Der ClassWizard bietet Dir deshalb LVN_ODCACHEHINT an, weil er nicht erkennen kann, ob es sich um ein virtuelles ListCtrl handelt!