Clipping-Region: IntersectClipRect und GetClipBox



  • hallo zusammen,

    ich versuche gerade ein bissel zu zeichen und eigentlich klappt es auch,
    -mehr oder weniger- "ganz gut" ...

    in einem dialog fenster habe ich ein rechteck angelegt in dem eine tabelle
    mit spalten und zeilen gezeichnet, die tabelle kann mit einem scrollbar
    nach link bzw rechts verschoben werde.

    ich habe hier herausgefunden, das durch so genannte clipping regionen
    nicht das komplette fenster neu gezeichnet werden muss, sondern durch
    IntersectClipRect nru ein rechteck neu gezeichnet werden muss, oder???

    und ich schaffe es leider nicht GetClipBox gedanklich und im c-code umzusetzen 😞

    angeblich kann ich mir durch GetClipBox den neu zu zeichnenden bereich geben lassen ?!?

    nun ja, klappt doch nicht so ganz gut, und beim verschieben der tabelle kann
    ich ein flakkern sehen...



  • hm, jetzt wo ich nach dem kaffee noch ein mal darüber nachgedacht habe...

    bei mir im code steht folgendes, direkt hintereinander:

    dc.IntersectClipRect( rectangle);
    dc.GetClipBox( update);
    

    ich habe immer von rectangle.left bis rectangle.right gezeichnet,
    kann es sein das ich "nur" von update.left bis update.right zeichnen muss?

    beim aufruf von dem dialog ist ja update genau so groß wie rectangel
    und beim verschieben der tabelle ändert sich halt genua dieser bereich
    und ich muss das komplette rectangle neu zeichnen sondern den update bereich. oder?


Anmelden zum Antworten