| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Anzeige eines Image in einen Listview.SubItem (9774 mal gelesen)
|
Stelli1 Ehrenmitglied Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net 2010
|
erstellt am: 15. Jul. 2009 13:33 <-- editieren / zitieren --> Unities abgeben:         
|
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 15. Jul. 2009 14:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Stelli1
|
Stelli1 Ehrenmitglied Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net 2010
|
erstellt am: 17. Jul. 2009 10:46 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, erst mal danke für die Info. Ich verwende hierfür vb2005. Ich werde es später mal mit dem DataGridView versuchen. Erst kann man das Proggi ja schon mal einsetzen, auch wenn die Information als Text kommt. Auf die Schnelle kann ich es nicht ändern, da hier eine Menge Events und Contextmenüs an den Items hängen. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nepumuk Mitglied Entwicklungsleiter
 
 Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 18. Jul. 2009 12:03 <-- editieren / zitieren --> Unities abgeben:          Nur für Stelli1
Hallo Wilfried, folgender Beispielcode erzeugt das Listview in der Abbildung: Code: Private Sub UserForm_Activate() Dim lngIndex As Long Dim objListItem As ListItem With ListView1 .View = lvwReport .FullRowSelect = True .SmallIcons = ImageList1 .ColumnHeaderIcons = ImageList1 .Gridlines = True .LabelEdit = lvwManual .ColumnHeaders.Add Text:="Spalte 1", _ Width:=100, Alignment:=lvwColumnLeft, Icon:=1 .ColumnHeaders.Add Text:="Spalte 2", _ Width:=100, Alignment:=lvwColumnCenter, Icon:=2 .ColumnHeaders.Add Text:="Spalte 3", _ Width:=100, Alignment:=lvwColumnRight, Icon:=3 For lngIndex = 1 To 10 Set objListItem = .ListItems.Add(Key:="Key " & CStr(lngIndex), _ Text:="Text " & CStr(lngIndex), SmallIcon:=4) With objListItem .ForeColor = vbGreen .SubItems(1) = CStr(Date) .ListSubItems(1).ForeColor = vbRed .ListSubItems(1).ReportIcon = 5 .SubItems(2) = CStr(Time) .ListSubItems(2).ForeColor = vbBlue .ListSubItems(2).ReportIcon = 6 End With Next End With End Sub
Ist zwar in VBA geschrieben, da ich nur VB6.0 und VB.net habe, sollte sich aber relativ einfach umsetzen lassen. Das Icon in den Spalten wird über die ReportIcon-Eigenschaft erzeugt. ------------------ Gruß Nepumuk  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Ehrenmitglied Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net 2010
|
erstellt am: 19. Jul. 2009 10:58 <-- editieren / zitieren --> Unities abgeben:         
Hallo Nepumuk, danke für den Hinweis. Ich arbeite bei dem Proggi mit VB.NET 2005. Da gibt es leider keine Eigentschaft "Reporticon" bei ListViewSubItem. Das Programm füllt ein Listview mit allen *.Layer Dateien aus einem Verzeichnis. Die Layer Dateien sind XML Dateien. Die fragliche Funktion durchsucht diese nach dem Vorkommen von bestimmten Nodes und zeigt das Ergebnis an. Schöner wären halt Icons. Da das Proggi auch als Plugin zu einem Autodesk Programm mit .NET 2005 läuft habe ich es auch mit 2005 gemacht. Werde das in Kürze mal mit der 2008er Version probieren.
Code: Sub LayerFileInfo() Dim LayerDoc As New Xml.XmlDocument Dim Nodes As Xml.XmlNodeList Dim LVItem As ListViewItem For Each LVItem In ListView.Items If LVItem.ImageIndex = 1 Then LayerDoc.Load(LVItem.Tag) Nodes = LayerDoc.GetElementsByTagName("DrawingName") If Nodes.Count > 0 Then LVItem.SubItems(1).Text = "YES" Else LVItem.SubItems(1).Text = "no" End If Nodes = LayerDoc.GetElementsByTagName("Filter") If Nodes.Count > 0 Then LVItem.SubItems(2).Text = "YES" LVItem.SubItems(2).ForeColor = Drawing.Color.DarkRed Else LVItem.SubItems(2).Text = "no" LVItem.SubItems(2).ForeColor = Drawing.Color.DarkGreen End If End If Next LayerDoc = Nothing End Sub
Wilfried Stelberg------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nepumuk Mitglied Entwicklungsleiter
 
 Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 19. Jul. 2009 11:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Stelli1
Hallo Wilfried, mit diesen abgespeckten Versionen kenn ich mich nicht aus. Wenn schon .net dann gleich das Original, damit lassen sich Icons in Spalten einfügen. Ich kann das sowieso nicht nachvollziehen, warum Microsoft davon Abstand genommen hat und diese Billigversionen verbreitet. Ich hab für VB.net 124¤ bezahlt, am Preis kanns meiner Meinung nach also nicht liegen. ------------------ Gruß Nepumuk  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Ehrenmitglied Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net 2010
|
erstellt am: 19. Jul. 2009 11:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Nepumuk, Zitat: Original erstellt von Nepumuk: Hallo Wilfried,mit diesen abgespeckten Versionen kenn ich mich nicht aus. Wenn schon .net dann gleich das Original, damit lassen sich Icons in Spalten einfügen. Ich kann das sowieso nicht nachvollziehen, warum Microsoft davon Abstand genommen hat und diese Billigversionen verbreitet. Ich hab für VB.net 124¤ bezahlt, am Preis kanns meiner Meinung nach also nicht liegen.
Ich denke es ist keine "abgespeckte Version". Es ist Visual Studio "Professianal Editon" 2005. Und damit geht das mit den Icons wohl nicht. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de
[Diese Nachricht wurde von Stelli1 am 19. Jul. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |