![]() |
AW: Paint Message abfangen/Herkunft finden
So schwer sollte eine schnelle Änderung nicht sein.
- an der Stelle, wo gezeichnet wird, leitest du alles in ein Bitmap.Canvas um - ans Ende der Zeichenroutine(n) hängst du noch ein Repaint deiner Anzeige - ins WM_PAINT/OnRepaint kommt nun nur noch das Ausgeben dieses Bitmaps rein und fertig = Problem beseitigt und ein mehrfaches Repaint stört nicht mehr, bzw. kaum noch |
AW: Paint Message abfangen/Herkunft finden
Zitat:
Zitat:
Zitat:
Zitat:
Ansonsten kann ich Dir nur empfehlen mal 2Bilder an Deinem ersten Post ranzuhängen damit wir sehen was Du meinst! Noch besser ist natürlich der Code für das sogenannte EingabeFenster um das es ja hier geht! Oder treten diese Fehler in Deinem ganzen Projekt auf!? alfold |
AW: Paint Message abfangen/Herkunft finden
Danke für Euer Mitgefühl ;-)
Ich sehe, dass ich zuwenig Info gegeben habe... Es handelt sich um ein MDIChild, in dem Labels, DBEdits und DBGrids sind. Alles abgeleitete Versionen mit zusätzlicher firmeneigener Funktionalität. Um das DbGrid geht es und hier passieren kranke Dinge, die leider dzt unumgänglich sind. Und die u.A. pro Zelle(!) die DB um einen Status befragen, der die Farbe beeinflusst. Bitte nicht lachen, mit ist bereits schlecht, ok? Ein Buffer-Bitmap scheidet hiermit leider aus, weil im Grid auch gescrollt wird. Die Idee mit ProcessMessages ist gut, das seh ich mir an. Weil ich ProcessMessages um jeden Preis vermeide, habe ich nicht daran gedacht. Gesteppt habe ich schon, danke für den Tip, sowas mach ich meistens als Erstes. Die Gesamtheit der Antworten hat mir eine Richtung gezeigt, ich schätze, dass der Datensatzzeiger im Hintergrund auf Unsinn verändert wird und das Grid nochmal zeichnen möchte. Danke nochmal und lg, Wolfgang |
AW: Paint Message abfangen/Herkunft finden
Zitat:
|
AW: Paint Message abfangen/Herkunft finden
Vielleicht? hilft hier schon die Komponente/Form DoubleBuffered := True zu setzen?
Das nochmalige zeichen kann zb auch durch ein Changeereignis passieren! alfold |
AW: Paint Message abfangen/Herkunft finden
Ganz dreckige Idee: Schmeiße die überflüssigen WM_PAINTs einfach weg bzw. spring aus der Behandlungsroutine, wenn du denkst "Nö, jetzt nicht nochmal.".
|
AW: Paint Message abfangen/Herkunft finden
Zitat:
Alla: Create, Paint, Change und darauf wieder Paint! alfold |
AW: Paint Message abfangen/Herkunft finden
Zitat:
ihr habt doch überhaupt keine andere Wahl, als die Paint-Routine sauber und stabil zu machen. Sprich unabhängig davon, wann und wie oft WM_PAINT-Messages kommen -> es darf keine Probleme machen und das Ergebnis (Optik und alles was im Hintergrund noch passiert) muß konsistent bleiben. Diesen Aufwand eines Redesigns müsst ihr m.E. betreiben, alles andere ist Zeitverschwendung. Gruß, blauweiss |
AW: Paint Message abfangen/Herkunft finden
Zitat:
lg Wolfgang |
AW: Paint Message abfangen/Herkunft finden
Zitat:
Netter Gedanke, merci! lg Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz