J'ai une icône partagée HICON
de l'extrait suivant.Devrions-nous supprimer hbmColor & hbmMask pour une icône partagée?
::SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 500, &icon)
Je récupéré son ICONINFO
et recopié le hbmColor
et hbmMask
. Comme je remarque dans other snippets, les gens appellent alors ::DeleteObject()
pour détruire hbmColor
et hbmMask
.
Est-ce également valable pour une icône partagée?
Comme mentionné dans MSDN, nous ne devrions pas appeler DestroyIcon
sur une icône commune, qui sonne comme nous ne devrions pas appeler DestroyObject
sur son icône commune hbmColor
& hbmMask
soit.
Il est seulement nécessaire d'appeler DestroyIcon pour les icônes et curseurs créés avec les fonctions suivantes: CreateIconFromResourceEx (si elle est appelée sans le drapeau LR_SHARED), CreateIconIndirect et CopyIcon.
Il partage des icônes, il ne partage pas les structures ICONINFO. –