Ich habe ein Problem beim Versuch, ein Mainframe-Symbol dynamisch aus meiner alten VB6-Anwendung zu laden. Die Icon-Datei hat zwei Symbole 16x16x256 und 32x32x256 und ich tue es über diese einfache Art und Weise:Dynamisch laden Symbole auf MainFrame
Private Sub Form_OnLoad()
Me.Icon = LoadPicture("C:\MainMyIcon.ico")
End Sub
auf der Windows-Taskleiste auf das Symbol sieht gut aus, aber auf dem Hauptrahmen wird das Symbol mit nur 16 gezeigt (oder vielleicht weniger) Farben.
Was am interessantesten ist, wenn ich dieses Symbol über VB IDE laden, sieht das Symbol glatt und nett aus.
LoadPicture hat mehrere Parameter, der 3rht ist ColorDepth. Ich habe versucht, es manuell auf vbLPColor, die 256 Farben sein sollte, aber das Ergebnis ist das gleiche.
Dann habe ich versucht, das Icon von Ressourcen über LoadResPicture zu laden, aber wieder kein Glück für mich.
Irgendwelche Ideen?
Hallo, Das war genau meine Lösung. Via Win32 kann ich 32-Bit-Icons laden und alles ist gut, außer dass - Form.Icon Eigenschaft ist nicht mehr gültig. So hatte ich alle Vorkommen von MyForm_Load ersetzen(): Me.Icon = frmMain.Icon .... mit MyForm_Load(): SetFrameIcon Me SetFrameIcon (ByRef frm Als Variante) stellt das Symbol auf ein Ziel bilden. – Kiko