Office: (Office 2000) Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

Helfe beim Thema Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX) in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe in einem HF ein ListView-Steuerelement eingefügt. Zur besseren Lesbarkeit möchte ich gerne die Zeilen farblich voneinander absetzen.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Krieju, 6. September 2006.

  1. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)


    Hallo,

    ich habe in einem HF ein ListView-Steuerelement eingefügt.

    Zur besseren Lesbarkeit möchte ich gerne die Zeilen farblich voneinander absetzen.

    Zu einem Beispiel bin ich hier fündig geworden:
    http://www.aboutvb.de/khw/artikel/kh...background.htm

    Kann das VB-Beispiel aber nicht in Access umsetzen, weil ich nicht weiss, was es mit der PictureBox auf sich hat. Kann dies jedenfalls nicht im ListView-Element finden. *confused.gif*

    Weiss jemand, wie man die unterschiedliche Zeilenfarbe im ListView-Element von Access umsetzen kann?

    Bin für jeden Hinweis dankbar.

    Gruß
    Jürgen

    :)
     
  2. Hallo TommyK,

    danke für den Hinweis. Werde ich mir genauer ansehen und mich dran versuchen.

    Liebe Grüße

    Jürgen
     
  3. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

    Hallo,

    ich habe versucht, den von TommyK angegebenen Tipp umzusetzen, bin allerdings gescheitert.

    Die Daten im ListView werden zwar angezeigt, aber die Zeilen sind nicht unterschiedlich gefärbt und obwohl die Form_Load-Prozedur abgearbeitet ist, läuft im Editor weiterhin Code ab, der die Access-Anwendung blockiert. Access muss über den Task-Manager beendet werden.

    Dies hängt mit dem API-Aufruf zusammen. Kommentiere ich die ersten Zeilen aus, kommt es zu keinem Aufhänger.

    Hat jemand eine Idee, womit dies zusammenhängt und wie man es so ändern kann, dass der Code mit dem gewünschten Ergebnis, die Zeilen unterschiedlich einzufärben, problemlos in Access läuft?

    Hier die entscheidenden Zeilen:

    Code:
    Freue mich über jeden Tipp!

    Danke.

    Gruß
    Jürgen
     
  4. Hallo,

    ich möchte diesen Thread nochmals anstoßen und fragen, ob denn noch jemand eine unter Access funktionierende Möglichkeit weiß, die Zeilen in einem ListView-Steuerelement unterschiedlich farblich zu unterlegen.

    Das von TommyK vorgeschlagene Beispiel konnte ich jedenfalls nicht erfolgreich umsetzen.

    Vielleicht weiß ja noch jemand etwas.

    Vielen Dank.

    Gruß
    Jürgen
     
  5. Das Beispiel auf vbArchiv ist für VB6 gedacht, nicht für Access.
    Das ist leider nicht dasselbe.
    Auch wenn sich der Code kompilieren und ausführen lässt: Ein Access-Formular ist eben was anderes als ein VB-Formular.

    Der Code leitet ja alle Windows-Messages inkl. der Listview-Messages an das Hauptfenster weiter, was in der zwischengeschalteten WindowProc ausgewertet wird. Leider sind Access-Fenster bereits stark gesubclasst, so dass Subclassing da immer ein gewagtes Unterfangen ist. Im konkreten Beispiel kommen die WM_NOTIFY-Messages nicht in der WindowPÜroc an. Access sortiert sie offenbar bereits in der eigenen Formular-Fensterprozedur aus. Damit kann man das Listview auch nicht mehr erfolgreich subclassen.

    Ansonsten rate ich, wie immer, schwer von Subclassing unter Access ab, wenn man nicht genau weiß, wie es arbeitet! Das von Jürgen beschriebene Hängenbleiben passiert immer dann, wenn entweder das Subclassing nicht koerrekt eingesetzt wird, oder wenn der Code debuggt wird. Bannert hat das ja groß und fett in dem Artikel erwähnt! Dabei sollte man sich klarmachen: Wenn der VBA-Editor offen ist, dann wird automatisch debuggt! (MAn sieht das in der Titelzeile des VBA-Editors, wo der Hinweis auf laufenden Code steht.) Der VBA-Editor sollte also weggeklickt wrden, bevor man Subclassing-Code ausführt.

    Der im ersten Beitrag gelinkte Code, wo eine VB-Picturebox zum Generieren eines Hintergrunds für die Zeilen eingesetzt wird, ließe sich sicher auch nach Access übertragen, wenn man statt der Picturebox ein StdPicture-Object per API erstellte. Das ist nun nicht so ganz einfach und mir fehlt im Moment leider die Zeit, da eine Demo zu basteln.

    Ciao, Sascha
     
    Sascha Trowitzsch, 11. September 2006
    #6
  6. Hallo Sascha,

    danke für die ausführliche Stellungnahme!

    Das mit dem Nicht-Debuggen habe ich gelesen.

    Was ich nicht wusste: dass automatisch debuggt wird, wenn das Editor-Fenster offen ist! Wieder 'was dazu gelernt!

    Kann's ja noch mal ohne offenes Editor-Fenster versuchen. Glaub' aber nicht dran, dass es funktioniert, denn "Farbe" habe ich trotz angezeigter Daten keine gesehen.

    Vielleicht gibt es ja noch jemanden im Forum, der -positive- Erfahrungen mit einer anderen Lösung gemacht hat.

    Gruß
    Jürgen


    Nachtrag:
    Hab's gerade mit geschlossenem Editor-Fenster ausprobiert: Access hängt sich - zumindest bei mir - auch so auf.
    Also: diese Lösung lässt sich offensichtlich nicht auf Access übertragen.
     
  7. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

    So, doch noch etwas Zeit gefunden.
    Mit dem folgenden Code sollte es klappen. In ein allgemeines Modul:
    Code:
    Das wird dann aus dem Formular mit dem ListView-Steuerelement ListView1 zum Beispiel so aufgerufen:
    LvwAltLinesBackground ListView1.Object, RGB(255, 255, 255), RGB(204, 255, 160)

    Ciao, Sascha
     
    Sascha Trowitzsch, 12. September 2006
    #8
  8. Hallo Sascha,

    zunächst einmal vielen Dank für die Zeit und Mühe, die Du Dir gemachst hast.

    Habe den Code ausprobiert. Bei mir kommen allerdings keine farbigen Linien und beim Scrollen überlagern sich die Daten in den Zeilen immer mehr und mehr, so dass nach 2 x runter- und wieder rauf-Scrollen nichts mehr zu erkennen ist.

    Die aufrufende Zeile habe ich so eingefügt, dass zunächst das ListView-Element mit Daten gefüllt wird und erst zum Schluss die farbigen Linien gesetzt werden.

    Idee? Falsche Reihenfolge im Code?

    Grüße und einen schönen Abend

    Jürgen
     
  9. Hm. Ich weiß nicht, wie dein Code aussieht.
    Bei mir gibt es (fast) keine Probleme, wie man evtl. in der angehängten Demo sehen kann.
    (Fast: Bei bestimmten Schriftgrößen wird die Höhe der Zeilen und damit der Hintergrundbalken nicht ganz korrek berechnet, weil hier der Einfachkeit halber Integer und Pixel verwendet werden, während das Listview als Zeilenhöhe einen Single-Wert zurückgibt. Wenn GridLines auf True gestellt ist, dann werden diese Rundungsfehler allerdings nicht sichtbar.)

    Ciao, Sascha
     
    Sascha Trowitzsch, 12. September 2006
    #10
  10. Hallo Sascha,

    was soll ich sagen?

    Super! Perfekt!

    Weiß nicht, warum bei mir die Ansicht so nicht funktionierte (meine Lösung ist sehr ähnlich), aber so klappt's auch bei mir!

    Vielen Dank für Deine Hilfe!

    Gruß
    Jürgen
     
  11. Hallo Sascha,
    ich würde mir gerne deinen Code anschauen, weil ich ein ähnliches Problem habe. Leider kommt folgende Meldung wenn ich auf den Anhang (http://www.ms-office-forum.net/forum...7&d=1158136528) klicke:

    vBulletin-Systemmitteilung
    j42, Sie haben keine Rechte, um auf diese Seite zuzugreifen. Folgende Gründe könnten z.B. dafür verantwortlich sein:

    Sie versuchen, den Beitrag eines anderen Benutzers zu ändern oder auf administrative Funktionen zuzugreifen. Überprüfen Sie bitte in den Forenregeln, ob Sie diese Aktion ausführen dürfen.
    Wenn Sie versucht haben, einen Beitrag zu schreiben, kann es sein, dass Ihr Benutzerkonto deaktiviert wurde oder noch aktiviert werden muss.
    Abmelden Startseite
     
  12. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

    Das Problem hat sich erledigt.
    Danke
    Gruß
    j42
     
  13. Hi,

    mich würde das gerne interessieren ob das geht:
    wenn Spalte A grösser ist als B dann genau diese Zeile Farbig zu markieren

    mfg
     
  14. Hallo

    könnte gehen. Du mußt a) die sichtbaren Items ermitteln und b) anders als im Code oben das zu zeichnende Bild über die gesamte Listviewfläche erstellen. c) du benötigst einen Timer, da keine Scroll-Events im Listview ausgelöst werden, mit jedem Scroll muss ja das Bild neu gezeichnet werden.
    Ich denke aber ein Ufo als Endlosform mit bedingter Formatierung wäre einfacher.
     
    daolix, 5. April 2014
    #15
Thema:

Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX)

Die Seite wird geladen...
  1. Unterschiedliche Zeilenfarbe in ListView-Element (ActiveX) - Similar Threads - Unterschiedliche Zeilenfarbe ListView

  2. Formel auf andere Zellen unterschiedlicher Größe anwenden

    in Microsoft Excel Hilfe
    Formel auf andere Zellen unterschiedlicher Größe anwenden: Hallo zusammen, ich habe eine Formel gebastelt, die wie angehängt in der Beispiel-Excel zu sehen ist, funktioniert. Kann ich die Formel so vereinfachen, dass ich nicht 3x die angepasste Formel...
  3. Outlook IMAP Struktur im selben Postfach auf Clients unterschiedlich

    in Microsoft Outlook Hilfe
    Outlook IMAP Struktur im selben Postfach auf Clients unterschiedlich: Ich habe ein IMAP Postfach, auf das ich 1) von meinem Arbeitsplatzrechner im Büro, 2) meinem Arbeitsplatzlaptop und 3) meinem Privatrechner gleichzeitig über Outlook zugreife. Auf allen drei...
  4. Zwei gleiche Dateien unterschiedlich groß?

    in Microsoft Excel Hilfe
    Zwei gleiche Dateien unterschiedlich groß?: Hallo, erst einmal einen schönen guten morgen. Ich bin neu hier und hoffe evtl. Hilfe bei meinem Problem zu erhalten :-) Folgendes Problem. Ich erstelle jeden Monat eine PPT (Ja ich weiß es...
  5. Absatz erzeugt unterschiedliche Höhen in Tabellen (-zeile)

    in Microsoft Word Hilfe
    Absatz erzeugt unterschiedliche Höhen in Tabellen (-zeile): Hallo! Kurzfassung: Ich möchte einfach nur eine Tabelle erstellen, in der Abstände von 6 Pt. vor und nach jeder Tabellenzeile eingefügt sind. Der Zeilenabstand soll dabei "Einfach" sein, sodass...
  6. Unterschiedliche Kopfzeile wenn mehrere seiten

    in Microsoft Word Hilfe
    Unterschiedliche Kopfzeile wenn mehrere seiten: Gibt es dafür eine Lösung? Ich habe ein Dokument. Wenn einseitig erscheint in der Kopfzeile Logo, Titel, Nummer. Wenn zweiseitig erscheint ab der zweiten Seite nur noch Titel und Nummer....
  7. Kundennummer unterschiedlicher Tarif A oder B

    in Microsoft Excel Hilfe
    Kundennummer unterschiedlicher Tarif A oder B: In der Tabelle sollen die Kunden mit einer A Nummer einen anderen Tarif zahlen, als die Kunden mit einer B Nummer Probiere schon seit ca 7 Stunden rum aber nichts geht, irgendjemand eine Idee,...
  8. Seiten mit unterschiedlichen Werten addieren

    in Microsoft Excel Hilfe
    Seiten mit unterschiedlichen Werten addieren: Hallo, ich möchte kopierte Seiten mit 2 unterschiedlichen Werten berechnen lassen. Beispiel: ich habe 55 Seiten, dann sollen 50 Seiten mit 0,50€ berechnet werden + 5 Seiten mit 0,15€ und das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden