![]() |
Paintbox will nicht geleert werden
Hi
Als Nachtrag zu diesem Thread: ![]() Habe ich versucht die dort beschriebene lösung von Paintbox1.Refresh; und Paintbox1.Repaint; sowie beide Funktionen jeweils auf Paintbox1.Canvas anzuwenden, aber nichts zeigt wirkung, die paintbox wird trotzdem unverändert weiter bemalt. Ein Übermalen mit einem gleichgroßen Quadrat kommt nicht in Frage, da die PB Bildschirmgröße hat, und dieser Vorgang zu einem Flackern führen würde. Die PB ist daher transparent, der BG kommt durch ein dahinter liegendes Objekt zustande. Würde mich über Hilfe freuen! |
Re: Paintbox will nicht geleert werden
Ich hoffe, ich verstehe dich richtig: Der Hintergrund der Paintbox soll durch ein dahinterliegendes Objekt realisiert werden, aber in deiner Paintbox tauchen noch andere Elemente auf, die da nicht hingehören?
Dann solltes du zunächst den Hintergrund nach vorn bringen (Formular-Designer - Kontext-Menü - Element - Nach vorne setzen) und danach das gleiche mit der Paintbox tun. Damit läßt du alle anderen Elemente zeitlich vor dem Background zeichnen und die Paintbox als letztes. |
Re: Paintbox will nicht geleert werden
nein fast.
ich hab sowas wie uhrzeiger, die auf der paintbox gemalt werden. jede sekunde werden die also versetzt auf die PB gemalt. Würde ich vor jedem rendervorgang der zeiger den hintergrund mit malen, würde jede sekunde ein flackern kommen. daher male ich auf der Paintbox nur die zeiger, der hintergrund nimmt die farbe an, die eben das form dahinter hat. ich hoffe das ist nun deutlicher. |
Re: Paintbox will nicht geleert werden
Bei einer Paintbox musst du grundsätzlich alles selbst malen.
In deinem Fall heisst das, dass du zuerst ein Bitmap auf den Paintbox-Canvas kopierst und dann deine Zeiger drübermalst. Anstelle des Bitmaps kannst du den Hintergrund auch mit DrawRect setzen (Brush vorher entsprechend setzen) aber ein Bitmap gibt optisch mehr her. Oder dem Brush.Bitmap ein Objekt zuweissen, dann wird das Bitmap "gekachelt". Sollte ein Flackern auftreten, kann man die gesamte Ausgabe in ein temporäres Bitmap zeichnen und dieses Bitmap in einem Rutsch auf den Paintbox-Canvas kopieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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-2025 by Thomas Breitkreuz