STM_SETIMAGE will net



  • Ich arbeite gerade an einem dialogbasierendem Programm, das eine MFA 8085 simulieren soll. Es soll eine Reihe von 8 LED's angezeigt werden, dazu verwende ich 2 Typen von Bitmaps "LED AN" und "LED AUS", eigentlich logisch. Nun verwende ich um die 8 Bmp's anzuzeigen PictureControls und um zwischen "LED AN" und "LED AUS" zu toggle sende ich
    "SendMessage(Item, STM_SETIMAGE, IMAGE_BITMAP, LoadBitmap(...));"
    Wenn ich nun mit dem Simulator ein Assembler Programm ablaufen lasse, dass oft und häufig die LED Bmp's toggle'n lässt hängt sich das Programm nach einiger Laufzeit bald auf (WinXP). Ich hab keine Ahnung woran's liegt. Vielleicht kennt ja jemand eine Lösung oder eine Alternative.
    THX



  • du lädst ständig die bitmap's on und off.
    lade sie doch nur einmal und übergibt dann das handle.



  • wie meinst du das, nur einmal laden und dann handle übergeben?
    (kleines Code-Bsp wäre ganz nett)



  • ich weis zwar nicht wie dein prog aussieht, aber ich versuchs

    // die beiden handle static in der wndproc oder global oder sonst irgendwie
    // zugänglich sein
    HANDLE hOn;
    HANDLE hOff;
    
    // beim initialisieren deines progs bitmaps laden
    // zb in WM_CREATE
    hOn = LoadImage(...);  // led an laden
    hOff = LoadImage(...);  // led aus laden
    
    // deine "switchfunktion"
    if(bOn)
        SendMessage(Item, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hOn);
    else
        SendMessage(Item, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hOff);
    


  • 😉 , hihi jo des wór die lösung vom problem, danke


Anmelden zum Antworten