Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Das ListView-Control
zurück: Tabelle kopieren und Code löschen weiter: Das TreeView-Control Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Isabelle :-)
Menschin


Verfasst am:
24. Aug 2013, 19:24
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


Das ListView-Control - Das ListView-Control

Nach oben
       Version: Office XP (2002)

Hallöchen,

das im Folgenden beschriebene Control funktioniert nur unter den 32Bit-Versionen von Excel.

Als erstes möchte ich dir davon abraten dieses Control in Tabellen zu verwenden. Das klappt nie richtig und erzeugt manchmal komische Effekte.

Das ListView-Control kennst du im Prinzip schon, das entspricht nämlich dem Dateifenster des Windows-Explorers. Damit lässt sich sowohl eine Listenansicht sowie ein Icon-Ansicht deiner Daten erstellen. Ich benutze das als komfortable ListBox denn das Control kann wesentlich mehr als diese.

So lässt es Formate auf Zeilen und Spaltenebene zu. Es kann für jede Spalte die Ausrichtung (linksbündig - zentriert - rechtsbündig) angegeben werden und jedem Eintrag in jeder Spalte kann die Schrift zwischen normal oder fett sowie jede Schriftfarbe zugewiesen werden. Auch kann jedem Eintrag in jeder Zeile und jeder Spalte ein eigenes Icon zugewiesen werden.

Zudem lassen sich die Klicks auf das Control differenzierter auswerten. So kann unterschieden werden ob und welcher Spaltenkopf angeklickt wurde um damit z.B. eine Sortierroutine für diese Spalte zu starten.

Ich habe mal ein Beispiel erstellt in dem so ziemlich alle Gadgets versammelt sind die mir einfielen. Dieses Beispiel soll einen eigenen Explorer simulieren.

1. Die Zeilen farbig hinterlegen (z.B. abwechselnd grün / gelb).

Dazu benötigen wir auf dem Userform ein ImageList-Control.

Als erstes färben wir ein paar Zellen in einer Zeile mit der ersten Farbe, dann in der Zeile darunter die zweite Farbe. Die obere Zeilen machen wir 17 Pixel die untere 16 Pixel hoch. Wir färben dabei mehr Spalten ein wie unser ListView-Control breit ist, denn wenn das Control die Bilder nebeneinander anzeigt, sieht das aus wie ein Spaltentrennstrich. Diese gefärbten Zellen kopieren wir und fügen sie z.B. in IrfanView ein und speichern das als Bild.

Dann markiere auf dem Userform das ImageList-Control und klicken im Eigenschaftsfenster auf „Benutzerdefiniert“. Dann auf den Button mit den 3 Punkten der rechts erscheint.

Im sich öffnenden Eigenschaftsdialog im Register Abbildungen kannst du nun das Bild einfügen. Am besten gibst du ihm unter „Key“ einen sprechenden Namen, dann musst du im Programm nicht mit den Index-Nummern arbeiten sondern kannst es beim Namen abrufen.

Wie dieses Bild dann in das ListView-Control kommt, kannst du dir später im Programm der Beispielmappe ansehen.

2. Drag & Drop aus dem Windows-Explorer in das ListView.

3. Zuordnung des entsprechenden Dateiicons zur jeweiligen Datei. Wobei die Icons just in time aus den internen Dateiinformationen extrahiert werden.

4. Sortieren der Liste auf- und absteigend durch einen einfachen Klick in den Listenkopf.

5. Automatische Anpassung der Spaltenbreite an die Einträge.

6. Ein Kontextmenü zum Öffnen der Datei (geht auch per Doppelklick), Löschen aus der Liste, Anzeigen des Eigenschaftsdialoges und Öffnen des Ordners in welcher sich die Datei befindet.


Als erstes müssen wir beim Aufruf des Userforms das Control initialisieren, sprich verschiedene Eigenschaften setzen. Ich hab das im Beispiel bewusst per Programm gemacht, obwohl verschiedene Einstellungen auch über das Eigenschaftsfenster gemacht werden können, damit du siehst welche Eigenschaft was bewirkt.

Anschließend werden die Spalten erzeugt. Dabei gebe ich ihnen neben der Überschrift als Key die Sortierart (Tex, Datum, Zahl) mit plus einem Index da die Keys eindeutig sein müssen und bestimme ob der Spalteninhalt linksbündig, zentriert oder rechtsbündig ausgerichtet wird.

Dann wird eine eventuell schon vorhandene Liste von Dateien in Spalte A der Tabelle „Daten“ eingelesen und angezeigt. Daraufhin wird die Spaltenbreite auf „Optimal“ gesetzt und die Liste nach Spalte 1 Absteigend sortiert, die Caption des Userforms aktualisiert und das Commandbar-Popup erstellt.

Am einfachsten, du siehst dir das Programm im Einzelnen an. Da ich fast jede Zeile kommentiert habe, sollte das, bis auf die API-Funktionen relativ leicht verständlich sein.

Und nun viel Spaß beim weiterbasteln.

Ein besonderer Dank geht an Mathias Schiffer für die Sortierroutine (siehe: http://msdn.microsoft.com/de-de/library/bb979183.aspx#mainSection ) und der weiterführenden Hilfe beim Zugriff auf die sortierte Liste.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%



ListView.png
 Beschreibung:
 Dateigröße:  14.6 KB
 Angeschaut:  784 mal

ListView.png



ListView.xls
 Beschreibung:

Download
 Dateiname:  ListView.xls
 Dateigröße:  151.5 KB
 Heruntergeladen:  131 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel VBA (Makros): listviewcontrol wird nicht in Werkzeugsammlung geladen 2 gutenabend 241 30. Dez 2012, 09:33
Gast listviewcontrol wird nicht in Werkzeugsammlung geladen
Keine neuen Beiträge Excel VBA (Makros): Verweis auf ListViewControl 5 Bazi 233 30. Jul 2010, 15:34
Bazi Verweis auf ListViewControl
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA