UpdateData klappt nicht ganz ...



  • hi,

    ich will mittels UpdateData(false) den Dialog aktualisieren. Leider werden jedoch nur die Elemente vom Typ 'Static text' aktualisiert. List Boxes jedoch nicht richtig (Scroll Bar passt, der Inhalt jedoch ist mal grau oder auch weiss).
    Ich habe auch schon die Frequenz der Aktualisierungen gesenkt, aber das brachte es auch nicht.
    Die List Box wird wie folgt gefüllt :

    void CPlanet::print_list(CListBox & listbox, CString & counter)
    {
        listbox.ResetContent();
        for (int i=0;i<buildings.GetCount();i++)
        {
            CBuilding building=buildings.GetAt(buildings.FindIndex(i)); 
            listbox.AddString(building.Name);
        }
        counter.Format("%d",m_tick);
    }
    

    ich habe den verdacht dass (warum auch immer) nicht alle messages nicht abgearbeitet werden. weiss jedoch leider nicht mehr wie das ging und habe mit der suche und in der faq so auf anhieb auch nix gefunden.



  • Ich frag nochmal nach:

    Der Inhalt der Listbox stellt sich nach deiner "Füllung" grau oder weiss dar!?
    Und Text gibts garnicht, oder wie??



  • korrekt. kein text.



  • hat sich erledigt.

    MSG msg;
        while(PeekMessage(&msg, this->operator HWND(), 0, 0, PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);      
        }
    


  • Besser:

    void CPlanet::print_list(CListBox & listbox, CString & counter)
    {
        listbox.ResetContent();
        for (int i=0;i<buildings.GetCount();i++)
        {
            CBuilding building=buildings.GetAt(buildings.FindIndex(i)); 
            listbox.AddString(building.Name);
        }
        counter.Format("%d",m_tick);
        listbox.UpdateWindow();
    }
    

Anmelden zum Antworten