Icon Verwaltung

CodeFatal

Erfahrenes Mitglied
Hallo,

ich weiß nicht ob ich mal wieder zu blöd bin Google richtig zu bedienen oder hat einfach nur niemand anderes dieses Problem:

Habe ein MFC-Tool geschrieben und möchte hierfür jetzt ein eigenes Icon nutzen
Habe dieses Icon in die verschiedenen Größen (16x16, 32x32, 48x48) umgerechnet und schön gemacht. ( nur die 24Bit Icons-die anderen sind entfernt)
Eingebaut->langes Gesicht gemacht.

Warum ist das 16x16 große Icon in der Taskleiste und im Titel nicht das 16x16 icon sondern ein auf 16x16 kleingerechnetes 32x32! Das hat zur Folge das irgendwo unschöne ränder entstehn. Wo kann ich die Zuordnung ändern? Woran liegt dies?

Hoffe ihr könnt mir helfen

Gruß Michael
 

MCoder

Erfahrenes Mitglied
Kann es sein, dass du das Icon mit LoadIcon() lädst? Das solltest du gleich vergessen, denn das lädt nur das 32x32 Icon.
Nimm dafür LoadImage() und lade jedes Icon-Image separat:
C++:
HICON m_hSmallIcon, m_hBigIcon;
    
CMainFrame::CMainFrame()
{    
    m_hSmallIcon = (HICON)::LoadImage( AfxGetResourceHandle(),
                                       MAKEINTRESOURCE(IDR_MAINFRAME),
                                       IMAGE_ICON, 16, 16, 0);

    m_hBigIcon   = (HICON)::LoadImage( AfxGetResourceHandle(),
                                       MAKEINTRESOURCE(IDR_MAINFRAME),
                                       IMAGE_ICON, 32, 32, 0);
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    ...

    SetIcon(m_hBigIcon,   TRUE);  // Großes Symbol verwenden
    SetIcon(m_hSmallIcon, FALSE); // Kleines Symbol verwenden

    ...
}
Gruß
MCoder