Label verschwindet beim Neuzeichnen



  • Faqauszug:

    es ist so einfach eine statusbar zu erstellen, die auch zur entwurfszeit allerlei controls aufnehmen kann, also nix mit erst zur laufzeit button1.parent = blabla. man leitet eine neue kompo von tstatusbar ab und schreibt lediglich:

    __fastcall TCompStatusBar::TCompStatusBar(TComponent* Owner)  
        : TStatusBar(Owner)  
    {  
        ControlStyle << csAcceptsControls;  
    }
    

    in den constructor und schon hat man eine komponente die auch zur entwurfszeit buttons etc. aufnimmt und die kann man wie jede kompo immer wieder verwenden...

    Das habe ich bei einer Komponente jetzt mal gemacht. Jetzt habe ich aber das Problem, dass wenn ich auf der Kompo ein Label o.ä. habe, und der Button neugezeichnet wird (weil die Maus drueber ist, etc.), das Label verschwindet. Ist wahrscheinlich so, weil
    der Button ja neugezeichnet wird, das Label aber nicht?
    Wer weiss Rat?
    Danke im vorraus.

    MfG Aoeke



  • Habs selber rausgefunden.
    Ich habe jetzt einfach folgendes in die Paint-Methode der eigenen Kompo geschrieben:

    for( int a = 0; a < ControlCount; a++ )
    {
    	Controls[a]->Invalidate();
    }
    

    MfG Aoeke



  • Aoeke schrieb:

    Ich habe jetzt einfach folgendes in die Paint-Methode der eigenen Kompo geschrieben:

    for( int a = 0; a < ControlCount; a++ )
    {
    	Controls[a]->Invalidate();
    }
    

    Aber dadurch habe ich jetzt auch das Problem, dass ich wenn ich beispielsweise 7 Labels auf der Kompo habe und ich mit der Maus ueber diese Kompo gehe, dass dann alles auf der Kompo flackert. Wie kann ich das besser machen? Also besser gehen muesste es ja auf jeden Fall, denn beim Panel oder so ist das ja auch nicht so, egal wie viel da drauf ist... ?
    MfG Aoeke



  • setzt mal die eigenschaft "DoubleBuffered" deiner kompo auf true



  • Jester2000 schrieb:

    setzt mal die eigenschaft "DoubleBuffered" deiner kompo auf true

    Naja, wenn ich das mache, haengt der builder dann oefters wenn ich beispielsweise an einem Projekt arbeite, wo ich auf der Kompo dann noch eine andere Kompo draufhabe. Und zur Laufs- und Entwurfszeit spinnt der dann auch immer so ein bisschen, also zum Beispiel ist dann mal der OI leer... Frag mich nicht warum???
    Gibts da vielleicht noch eine andere Moeglichkeit?
    MfG Aoeke



  • *push*


Anmelden zum Antworten