vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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: Systemicon für eingegebene Erweiterung bekommen 
Autor: dani3l87
Datum: 02.06.07 12:51

Hallo,
danke für deine schnelle Antwort. Doch leider ist der Inhalt im link nicht wirklich das was ich gesucht habe. Ich habe zwar den Code nur überfolgen, jedoch soweit ich das sehen konnte war das dafür da, ein Icon von einer bestimmten Datei zu bekommen, die sich irgendwo auf dem Rechner befindet. Das habe ich auch schon hinbekommen und erstaunlicherweise sehr viel kürzer (vielleicht habe ich ja auch was falsch gemacht ^^) Das sieht bei mir so aus:

    Dim Standardpfad As String = "C:\Dokumente und Einstellungen\Daniel\Eigene" & _
      "Dateien\Eigene Bilder\Wallpapers\01110_treesnakeonbranch_1280x800.jpg"
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        dgv.Rows(0).Cells(0).Value = getPathIcon(TextBox1.Text)
    End Sub
 
    Private Function getPathIcon(ByVal path As String) As Icon
        Return System.Drawing.Icon.ExtractAssociatedIcon(path)
    End Function
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        dgv.RowCount = 1
        TextBox1.Text = Standardpfad
    End Sub
Habe eigentlich nur die PictureBox durch ein DataGridView mit einem ImageColumn ausgetauscht. Das funktioniert auch soweit ganz gut und sieht für mich wesentlich simpler aus, als das was in dem link steht.

Jedoch brauche ich nicht das Icon einer vorhandenen Datei sonder das Icon von einer von mir eingegebenen Dateienendung. Wie oben schon beschrieben, ich gebe „.jpg“ ein und drücke dann auf einen Button und dann soll mir halt das Standard jpg-Icon angezeigt werden. Eine jpg Datei wird aber nicht konkret von mir eingegeben, wirklich nur „.jpg“ (oder halt eine entsprechende andere Dateienendung)
Das habe ich jedoch auch fast schon hinbekommen, jedoch bin ich mehr als unzufrieden mit dem Lösungsweg. So ich habe es gemacht:

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
        System.IO.File.Create("C:\getExpansionIcon" & TextBox2.Text)
        dgv.Rows(0).Cells(0).Value = getPathIcon("C:\getExpansionIcon" & _
          TextBox2.Text)
        'System.IO.File.Delete("C:\getExpansionIcon" & TextBox2.Text)
    End Sub
 
    Private Function getPathIcon(ByVal path As String) As Icon
        Return System.Drawing.Icon.ExtractAssociatedIcon(path)
    End Function
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        dgv.RowCount = 1
    End Sub
Natürlich könnte man den Pfad wo die Datei erstellt wird auch in einem Temp Ordner machen, jedoch bin ich trotzdem mit dieser Lösung nicht zufrieden. Zumal ich die Datei direkt danach auch nicht löschen kann, da sie noch in Benutzung ist. (Deswegen ist die Zeile auch als Kommentar markiert)
Hoffe jemand hat ne bessere Idee als ich.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Systemicon für eingegebene Erweiterung bekommen847dani3l8702.06.07 11:09
Re: Systemicon für eingegebene Erweiterung bekommen575wincnc02.06.07 12:04
Re: Systemicon für eingegebene Erweiterung bekommen612dani3l8702.06.07 12:51

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