vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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: TreeView / ListView füllen 
Autor: Fraki
Datum: 17.10.11 23:52

Hallo Dirk,

mit der angehangenen Funktion werden die Bilder scaliert im ListView angezeigt.

   Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, _
                                      ByVal e As  _
                                      System.Windows.Forms.TreeViewEventArgs) _
                                      Handles TreeView1.AfterSelect
        '##--enthaltene Dateien in ListView anzeigen:
        Me.Cursor = Cursors.WaitCursor
        Try
            With ImageList1
                ' Liste leeren
                .Images.Clear()
                ' Größe der anzuzeigenden Bilder festlegen
                .ImageSize = New Size(48, 48) ' Max 256x256
            End With
            ' Zähler für Bildindex
            Dim ImageIndex As Integer = 0
            Dim ListViewItem As ListViewItem = Nothing
            With ListView1
                .BeginUpdate()
                .LargeImageList = ImageList1
                .Items.Clear()
                .View = View.LargeIcon
                .LabelEdit = True
                ' Alle BMP Dateien im angegebene Pfad suchen
                For Each item As String In System.IO.Directory.GetFiles( _
                  e.Node.FullPath, "*.bmp")
                    ' aktuelles Bild in die ImageList laden
                    ImageList1.Images.Add(PicResizeBySize(item, _
                      ImageList1.ImageSize))
                    ' Neues ListViewItem erstellen 
                    ListViewItem = New ListViewItem(item.ToString, ImageIndex)
                    ' ListViewItem in ListView1 einfügen
                    .Items.Add(ListViewItem)
                    ' Bildindex hochzählen
                    ImageIndex += 1
                Next
                .EndUpdate()
            End With
        Catch ex As Exception
        End Try
        ListView1.Select()
        ListView1.Focus()
        Me.Cursor = Cursors.Default
    End Sub
    ''' <summary>
    ''' Ändert die Größe der Bilddatei 
    ''' </summary>
    ''' <param name="SourceImage">Pfad zur Bilddatei</param>
    ''' <param name="ImageSize">Größe des zu erstellenden Bildes</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function PicResizeBySize(ByVal SourceImage As String, ByVal _
      ImageSize As Size) As Bitmap
        Dim NewBitmap As New Bitmap(ImageSize.Width, ImageSize.Height)
        Dim g As Graphics = Graphics.FromImage(NewBitmap)
        g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
 
        Dim InputBitmap As New Bitmap(SourceImage)
        Dim NewWidth As Integer = 0
        Dim NewHeight As Integer = 0
        Dim SizeFactor As Single = 0
        Dim Point As PointF = Nothing
        Select Case True
            Case InputBitmap.Width > InputBitmap.Height
                SizeFactor = ImageSize.Width / InputBitmap.Width
                NewWidth = ImageSize.Width
                NewHeight = SizeFactor * InputBitmap.Height
                Point = New PointF(0, (ImageSize.Height - NewHeight) / 2)
            Case InputBitmap.Width < InputBitmap.Height
                SizeFactor = ImageSize.Height / InputBitmap.Height
                NewWidth = SizeFactor * InputBitmap.Width
                NewHeight = ImageSize.Height
                Point = New PointF((ImageSize.Width - NewWidth) / 2, 0)
            Case InputBitmap.Width = InputBitmap.Height
                SizeFactor = ImageSize.Width / InputBitmap.Width
                NewWidth = ImageSize.Width
                NewHeight = SizeFactor * InputBitmap.Height
                Point = New PointF(0, (ImageSize.Height - NewHeight) / 2)
        End Select
        Dim NewHeigth As Integer = SizeFactor * InputBitmap.Height
        Dim OutputBitmap As New Bitmap(System.Drawing.Image.FromFile( _
          SourceImage), NewWidth, NewHeigth)
        g.DrawImage(OutputBitmap, Point)
        g.Dispose()
        g = Nothing
        InputBitmap.Dispose()
        OutputBitmap.Dispose()
        Return NewBitmap
    End Function
Gruß Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TreeView / ListView füllen2.731Dirk.B17.10.11 17:08
Re: TreeView / ListView füllen2.069Manfred X17.10.11 17:15
Re: TreeView / ListView füllen2.143Fraki17.10.11 21:17
Re: TreeView / ListView füllen2.078Fraki17.10.11 23:52
Re: TreeView / ListView füllen2.008Dirk.B18.10.11 07:28

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