|
| |

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 |  |
 | 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 |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
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
|
|