Icon wird falsch angezeigt
-
Ich habe meinem Dialog damit ein Icon zugewießen:
case WM_INITDIALOG: SetClassLong(hDlg, GCL_HICON, IDI_ICON1);Jedoch wird das Icon nur bei der .exe gesetzt.
Bei der Programmausführung ist oben links beim Programm auf einmal dieser PC abgebildet und nicht mein eigenes ICON
Danke
-
Bin mir net sicher aber versuch mal:
case WM_INITDIALOG: SetClassLong(hDlg, GCL_HICON, MAKEINRESOURCE(IDI_ICON1) );
-
Dafür gibt es WM_SETICON! Dafür muss man nicht in der Fensterklasse rumpopeln.
-
SendMessage(hDlg, WM_SETICON, ICON_BIG, IDI_ICON1); SendMessage(hDlg, WM_SETICON, ICON_SMALL, IDI_ICON2);habs mal so gemacht. Bei der exe ist das ICON da , jedoch bei der programmausführung links oben ist jetzt gar kein ICON
-
case WM_INITDIALOG: SendMessage(hDlg, WM_SETICON, (WPARAM) FALSE, (LPARAM) LoadImage(hInstance, MAKEINTRESOURCE(IDI_MAINICON), IMAGE_ICON, 16, 16, FALSE));Damit wird das kleine 16x16 Icon benutzt, was offenbar besser aussieht als das schlecht herunterskalierte 32x32.
-
Blaze schrieb:
case WM_INITDIALOG: SendMessage(hDlg, WM_SETICON, (WPARAM) FALSE, (LPARAM) LoadImage(hInstance, MAKEINTRESOURCE(IDI_MAINICON), IMAGE_ICON, 16, 16, FALSE));Damit wird das kleine 16x16 Icon benutzt, was offenbar besser aussieht als das schlecht herunterskalierte 32x32.
Und was ist mit DeleteObject?
-
Wieso DeleteObject? Ressourcen wie Icons die die ganze Zeit in Nutzung sind müssen nicht freigegeben werden.
Wie soll das auch gehen. Das Icon des Dialoges ist mindestens so lange in Nutzung wie der Dialog selbst.The system automatically deletes these resources when the process that created them terminates; however, calling the appropriate function saves memory and decreases the size of the process's working set.
-
Ich meinete damit den Handle den SendMessage zurückgibt, wenn vorher ein anderes Icon da war.
-
winapi noob schrieb:
Ich meinete damit den Handle den SendMessage zurückgibt, wenn vorher ein anderes Icon da war.
Ist meistens sowieso ein System Icon, oder eine Ressource, solange man den Code nicht benutzt alle 2 Sekunden eine neues Icon zu verwenden sehe ich da kein Problem. (Siehe Doku von LoadImage).