Rubrik: Grafik und Font · Bilder und Icons | VB-Versionen: VB2005, VB2008 | 26.05.08 |
Bitmap in Icon umwandeln Eine kleine Funktion zum Konvertieren von Bitmaps in Icon mit optionaler Angabe der gewünschten Symbolgröße. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 19.127 |
ohne Homepage | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ich hatte das Problem, dass ich in meinem Bestand zum Programmieren zwar viele Bitmaps (hauptsächlich PNG's) habe, aber nicht so viele und auch keine 'korrespondierenden' Icons. Das störte mich vor allem, weil man in Menüs nur Bitmaps als Grafiken verwenden kann, in Form-Titelzeilen nur Icons. Nun wollte ich gern erreichen, dass in der Form-Titelzeile genau die gleiche Grafik zu sehen ist, wie im entsprechenden Menüpunkt meiner MDI-Parentform angegeben.
Folgende kurze (überladene) Funktion ermöglicht das Konvertieren von Bitmap-Grafiken in ein Iconsymbol:
''' <summary> ''' Konvertiert das übergebene Bitmap in ein Icon-Objekt unter Beibehaltung der Größe ''' </summary> ''' <param name="theBMP">Bitmap-Objekt</param> Public Function convBMPtoICO(ByVal theBMP As Image) As Icon Return convBMPtoICO(theBMP, theBMP.Size) End Function
''' <summary> ''' Konvertiert das übergebene Bitmap in ein Icon-Objekt ''' </summary> ''' <param name="theBMP">Bitmap-Objekt</param> ''' <param name="newSize">Größe des Icons</param> Public Function convBMPtoICO(ByVal theBMP As Image, ByVal newSize As Size) As Icon ' Neues Bitmap in gewünschter Größe erstellen Dim bitmap As New Bitmap(newSize.Width, newSize.Height) ' Originalbitmap zuweisen bitmap = theBMP ' Icon aus Bitmap erstellen und zurückgeben Return Icon.FromHandle(bitmap.GetHicon()) End Function
Und die Anwendung, wie in meinem Falle oben beschrieben, geht bspw. so:
Im Load-Ereignis der Child-Form diese eine Codezeile einfügen:
Me.Icon = convBMPtoICO(MDIParentform.ToolStripMenuItem.Image, New Size(16, 16))
Viel Spaß auch beim Anwenden in anderen Fällen!