CEdit Felder werden nicht angezeigt



  • Hallo,

    ich habe ein dialogbasierendes Projekt mit VC++ 6.0. Ich habe einen Button und zwei Editfelder auf dem Dialog. Über die OnDraw Methode zeichne ich in dem Bereich eines Gruppenfeldes. Dafür habe ich eine Display Methode geschrieben, die von der OnDraw Methode aufgerufen wird. Die OnDraw Methode wird per Timer immer wieder aktualisiert, da ständig neu gezeichnet werden muss. Mein Problem ist jetzt, dass die Editfelder nicht angezeigt werden, der Inhalt den ich hineinschreibe wird angezeigt, aber der Rahmen sozusagen wird einfach nicht angezeigt. Der Button wird aber schon angezeigt. Hier mal ein paar Code auszüge:

    void CMyDialog::OnButton() 
    {
        m_Timer=SetTimer (1, 10, NULL);
    }
    
    void CMyDialog::OnTimer(UINT nIDEvent) 
    {
        InvalidateRect(drawImage, FALSE);    // drawImage ist das rect aus dem Gruppenfeld
        UpdateWindow();
    }
    
    void CMyDialog::OnPaint() 
    {
        if (IsIconic())
        {
            Invalidate();		
        }
        else
        {
            UpdateWindow();
            Display();        // hier wird dann ausgiebig gezeichnet
            CDialog::OnPaint ();
        }
    }
    

    Kann mir jemand helfen? Ich weis dass man in der OnPaint Methode nicht mehr Invalidate() oder UpdateWindow() aufrufen darf, aber wenn ich das nicht mache, spielt mein Dialog völlig verückt. Ich sollte vielleicht noch dazu sagen dass ich in der Display() Methode DoubleBuffering genutzt habe.



  • Hat denn keiner eine Antwort für mich?


Anmelden zum Antworten