Icon verschwindet nach einiger Zeit



  • Hallo,
    ich habe ein Bildelement auf einem Dialog und als Typ Symbol eingestellt.
    Diesem Element weise ich zur Laufzeit ein bestimmtes Icon zu. Das ganze Timergesteuert (alle 100ms).

    Bei W98 funktionierte das auch wunderbar. Bei W2000 und XP verschwinden aber nach 1-2 Minuten die Icons komplett und der Desktop wird nicht mehr richtig dargestellt, bis ich das Programm beende.

    Zum Anzeigen der Icons habe ich folgenden Code.
    Kann mir jemand sagen, woran das leigt - was ich falsch mache?

    Bei Icons die nicht Timergesteuert dargestellt werden gibt es das Problem nicht.

    Danke schonmal
    Gruss Fred

    [code]void CDlg::OnTimer(UINT nIDEvent)
    {
    HICON hIco;
    UINT icon;
    int i;

    if(i = 1) icon = IDI_ON; else icon = IDI_OFF;
    hIco = (HICON) LoadImage( AfxGetInstanceHandle(),MAKEINTRESOURCE(icon),IMAGE_ICON, 32, 32,LR_DEFAULTCOLOR );
    mc_bmp_bild.SetIcon(hIco);

    CDialog::OnTimer(nIDEvent);
    }



  • Altes Icon mit DestroyIcon freigeben nachdem du das neue geladen und gesetzt hast.



  • Danke ersteinmal für den Tip.

    Das DestroyIcon allein hatte nicht geholfen.
    Habe aber zusätzlich noch das LoadImage() in LoadIcon geändert.
    Jetzt klappts - Danke!

    Fred


Anmelden zum Antworten