Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Überlappende Elemente in TPainbox


Schokolade - So 22.11.20 17:06
Titel: Überlappende Elemente in TPainbox
Moin,
im onPaint Event einer Paintbox zeichne ich ein Quadrat mit Rectangle(). Außerdem benutze ich moveTo und LineTo um eine vertikale Line zu ziehen, die durch das Quadrat geht. Diese Linie ist unterhalb des Quadrates. Das Quadrat übedeckt es und das ist ok und erwünscht für mich. Eine zweite Linie die horizontal verlauft kreuzt auch das Quadrat, sie sollte auch darunter verlaufen. Tut sie aber nicht. Ich habe verschiedene Reihenfolgen des Zeichnens benutzt. Immer mit dem gleichen Ergebnis. Wie kann ich festlegen, welches Zeichenelement welches Andere überlappt/verdeckt oder darunter verläuft.

Für eine Denkanregung (oder Lösung) wäre ich sehr dankbar.

Mit besten Grüßen


ub60 - So 22.11.20 18:21

Zeige doch mal Deinen Quelltext. Bei mir funktioniert das einwandfrei:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
  with PaintBox1.Canvas do
    begin
      Brush.Style:=bsClear;
      Pen.Width:=3;

      Pen.Color:=clRed;
      MoveTo(10040);
      LineTo(100160);

      Pen.Color:=clGreen;
      MoveTo(40100);
      LineTo(160100);

      Pen.Color:=clBlue;
      Rectangle(5050150150);
    end;

ub60


Schokolade - So 22.11.20 18:37

Hallo Ub60
danke für Deine Mühe, inzwischen habe ich auch eine Lösung gefunden, ich weiß allerdings nicht warum sie funktioniert 8-(
In meinem Programm waren alle grafischrn Befehle in einer For-Schleife. Ich habe eine der Linien ausgelagert in eine eigene Schleife. Jetzt geht es.
Es wäre interessant zu wissen, ob Dein Beispielprogramm auch funktioniert wenn bei Dir Brush.Style:=bsClear geändert würde
derart, das zB Brush.Color:=clYellow als Füllung des Quadrates sichtbar würde.

Noch ein schönes Restwochenende wünscht
Rolf


jaenicke - So 22.11.20 19:05

Was man mit einer Paintbox so alles machen kann habe ich hier mal gezeigt:
Periodensystem Xtreme 1.1 beta [https://entwickler-ecke.de/viewtopic.php?t=91534]
(Ich müsste meine Beiträge mal wieder auf Vordermann bringen was Bilder usw. angeht fällt mir dabei auf...)

Moderiert von user profile iconTh69: URL-Titel hinzugefügt.