vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Listview - ImageKlick 
Autor: Manfred X
Datum: 28.04.12 05:00

Hallo!

Sieht so aus, als benötigst Du ein OwnerDraw-Listview,
bei dem an der Stelle der Item-Checkboxen das entsprechende
Image gezeichnet werden soll.
Das könnte etwa so aussehen (im Form_load der Demo Dateien
unterschiedlichen Typs angeben, damit die ImageListe gefüllt wird):
Imports System.Windows.Forms
Imports System
 
Public Class frmFilesList
 
    Dim WithEvents livmain As New ListView With _
       {.Parent = Me, .Dock = DockStyle.Fill}
    Dim imlmain As New ImageList
 
    Private Sub frmFilesList_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
 
        'Einige Icons listen    
        imlmain.Images.Add("normal", Me.Icon)
        imlmain.Images.Add _
        ("text", System.Drawing.Icon.ExtractAssociatedIcon(<textdatei>))
        imlmain.Images.Add _
        ("jpg", System.Drawing.Icon.ExtractAssociatedIcon(<jpg-Datei>))
        livmain.SmallImageList = imlmain
 
        'Listview einrichten
        livmain.CheckBoxes = True
        livmain.MultiSelect = False
        livmain.View = View.SmallIcon
        livmain.OwnerDraw = True
 
        'Liste mit Angaben zu Files füllen
        Dim direc As String = _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments
        Dim z As Integer = -1
        For Each file As String In My.Computer.FileSystem.GetFiles _
        (direc, Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, _
        "*.*")
            z += 1
            Dim lv As ListViewItem
            Dim fi As New IO.FileInfo(file)
            lv = livmain.Items.Add(fi.Name)
            lv.SubItems.Add(fi.LastWriteTime.ToString)
            lv.SubItems.Add(fi.Extension)
            lv.ImageIndex = z Mod 3 'Imageindex 
        Next file
    End Sub
 
    Private Sub livmain_DrawItem(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.DrawListViewItemEventArgs) _
        Handles livmain.DrawItem
 
        'Hintergrundfarbe setzen
        If Not (e.State And ListViewItemStates.Selected) = 0 Then
            e.Graphics.FillRectangle(Drawing.Brushes.LightGray, e.Bounds)
            e.DrawFocusRectangle()
        Else
            e.Graphics.FillRectangle(Drawing.Brushes.White, e.Bounds)
        End If
 
        'Item-Image an Checkboxposition zeichnen
        If e.Item.ImageIndex >= 0 Then
            Dim bmp As Drawing.Bitmap = _
            CType(imlmain.Images(e.Item.ImageIndex), Drawing.Bitmap)
            e.Graphics.DrawImage(bmp, New Drawing.Point(e.Bounds.X, e.Bounds.Y))
        End If
 
        'Item-Text nach rechts versetzt zeichnen
        Dim rect As Drawing.Rectangle = e.Bounds
        rect.Offset(20, 0)
        Using brs As New Drawing.SolidBrush(livmain.ForeColor)
            e.Graphics.DrawString(e.Item.Text, livmain.Font, brs, rect)
        End Using
 
    End Sub
 
    Private Sub livmain_ItemCheck(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
        Handles livmain.ItemCheck
        MessageBox.Show("Click auf Item-Index: " & CStr(e.Index) & _
        "       Icon-Index: " & CStr(livmain.Items(e.Index).ImageIndex))
    End Sub
 
    Private Sub livmain_SelectedIndexChanged(ByVal sender As Object, _
       ByVal e As System.EventArgs) Handles livmain.SelectedIndexChanged
 
        If livmain.SelectedItems.Count > 0 Then
            Me.Text = "Index-Wechsel zu " & livmain.SelectedItems(0).Text
        End If        
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Listview - ImageKlick2.308jasmina27.04.12 17:42
Re: Listview - ImageKlick1.612Manfred X28.04.12 01:06
Re: Listview - ImageKlick1.655Manfred X28.04.12 05:00
Re: Listview - ImageKlick1.613cookstdu28.04.12 08:09
Re: Listview - ImageKlick1.580Manfred X28.04.12 09:20
Re: Listview - ImageKlick1.580cookstdu28.04.12 09:56
Re: Listview - ImageKlick1.576Manfred X28.04.12 10:45
Re: Listview - ImageKlick1.583jasmina30.04.12 11:02

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel