CRect auf bei MouseMove verschieben



  • Hallo, ich hab das ein großes Problem. In einer SDI anwendung habe ich in der View einige Rechtecke. Diese will in nun wenn der Mauszeiger darüber ist, verschieben können.
    Ich frage also bei jedem MouseMove die Region ab. OK, bis hier hin alles klar. Jetzt will ich das Rechteck mit gedrückter Maustaste verschieben können. Bei LBUTTONDown speichere ich einen Flag und werte den bei MOUSEMOVE aus.

    Jetzt will ich während man die Maus bewegt, das Rechteck zeichnen, und das vorhergende löschen! Wie mach ich dass.
    Ich habe seither das vorhergehende Rechteckt in einem temp. Rect zwischengespeichert und über InvalidateRect gelöscht. Leider bleiben da immer noch Ränder übrig! Wie kann ich das verhindern. Ausserdem löscht er mir das akutelle (an der MousePos stehende) Rechteck auch. (Ich vermute mal das einfach länger dauert den Hintergrund neu zu berechnen, als das Rechteck zu zeichnen.)

    Wie macht man sowas richtig, z.B. so wie in Corel..... 😕



  • Du musst nach InvalidateRect auch UpdateWindow aufrufen, bevor du das neue zeichnest


Anmelden zum Antworten