| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: ListView / Einträge / Tabellenform (1208 mal gelesen)
|
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003 AutoCAD 2021/2022 CAD+T HP ZBook 15 G4, 64-bit, WIN 10 Pro
|
erstellt am: 01. Nov. 2006 11:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen! Ich möchte in einer UserForm ein ListView mit Einträgen füllen und habe es mal so versucht: Code:
Private Sub UserForm_Initialize() Dim LV As MSComctlLib.ListItem ListView2.ListItems.Clear ListView2.ColumnHeaders.Clear On Local Error Resume NextSet ListView2.Icons = ImageList1 Set ListView2.SmallIcons = ImageList1 With ListView2.ColumnHeaders .Add , Text:="Spalte1", Width:="40" .Add , Text:="Spalte2", Width:="40" .Add , Text:="Spalte3", Width:="40" End With Set LV = ListView2.ListItems.Add(, , "Zeile1") With LV.ListSubItems .Add , , Util.RealToString(50) .Add , , Util.RealToString(100) End With Set LV = ListView2.ListItems.Add(, , "Zeile2") With LV.ListSubItems .Add , , Util.RealToString(50) .Add , , Util.RealToString(100) End With End Sub
Dieses Beispiel habe ich mir aus einem VBA-Handbuch zusammengestellt, doch leider funktioniert es nicht. Es soll eine Art Tabelle entstehen. Es wird bei der Ausführung - Util.ToString - bemängelt. Hat einer eine Lösung für mein Problem? Ferner die Frage, kann man die Zeilen (jede zweite) mit einer anderen BackColor belegen? Vielen Dank im voraus. Gruß Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 01. Nov. 2006 14:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Dirk.B
Hallo Dirk, du sollest mal in deinen Projekten als erste die Zeile
Code: Option explicit
eintragen. Dann kannst du nur Variablen und Objekte verwenden die mit Dim oder Public deklariert wurden. So fällt leichter auf ob du Schreibfehler in Variablen hast oder die Objekte nicht vorhanden sind. Systemobjekte wie ThisDrawing brauchst du nicht deklarieren. Auf/von diesen kannst du direkt Eigenschaften manipulieren und Methoden dieser Objekte verwenden.In deinem Code verwendest du Util.RealToString. Dieses Objekt gibt es nicht. Es gibt z.B. Thisdrawing.Utility.RealToString. Du kannst aber auch die VB Funktion Format verwenden. Code: Private Sub UserForm_Initialize() Dim LV As ListItem Dim SI As ListSubItem Dim color As Variant Dim i As Integer ListView2.ListItems.Clear ListView2.ColumnHeaders.Clear ListView2.View = lvwReport ListView2.FullRowSelect = True ListView2.GridLines = True ListView2.HoverSelection = True 'ListView2.BackColor = Me.BackColor ListView2.BorderStyle = ccNone ListView2.Appearance = ccFlat ListView2.FlatScrollBar = True ListView2.TextBackground = lvwOpaque'On Local Error Resume Next 'Set ListView2.Icons = ImageList1 'Set ListView2.SmallIcons = ImageList1 With ListView2.ColumnHeaders .Add , Text:="Spalte1", Width:="40" .Add , Text:="Spalte2", Width:="40" .Add , Text:="Spalte3", Width:="40" End With For i = 1 To 10 Set LV = ListView2.ListItems.Add(, , "Zeile" & i) If i Mod 2 = 0 Then color = RGB(50, 50, 250) Else color = RGB(250, 50, 50) End If LV.ForeColor = color With LV.ListSubItems Set SI = .Add(, , Format(50)) SI.ForeColor = color Set SI = .Add(, , Format(100)) SI.ForeColor = color End With Next i End Sub
Im Objektkatalog kannst du nachschauen ob es eine Eigenschaft Backcolor für ein Listitem gibt. Du wirst nur die Eigenschaft ForeColor finden. Stelli------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 01. Nov. 2006 14:29 <-- editieren / zitieren --> Unities abgeben:          Nur für Dirk.B
Hi Dirk, In deinem Buch wird darauf verwiesen, das du das Klassenmodul "MyUtility.cls" in deinem Projekt verwenden sollst. Allerdings ist das Util.RealToString das selbe, wie ThisDrawing.Utility.RealToString. Nur das dies dann als Funktion in einem Klassemodul ausgeführt wird. Gruß, Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003 AutoCAD 2021/2022 CAD+T HP ZBook 15 G4, 64-bit, WIN 10 Pro
|
erstellt am: 02. Nov. 2006 13:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stelli! Hallo Carsten! Kam erst jetzt dazu mir dies anzuschauen. Ich werde es mal testen. Vielen Dank noch mal. Gruß PS.: Das mit dem Option Explicit werde ich mir mal hinter die Ohren schreiben. Dirk [Diese Nachricht wurde von Dirk.B am 02. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 10. Nov. 2006 18:40 <-- editieren / zitieren --> Unities abgeben:          Nur für Dirk.B
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |