![]() |
Delphi verwechselt Paintboxen ?
So da bin ich mal wieder mit einem Problem, und weis mir nicht mehr zu helfen.
Ich habe hier ein kleines Projekt mit mehreren PaintBoxen, welche ich im OnResize prozentual ausrichte (Top,Left, Width und Height), das ist ja alles wunderbar.
Delphi-Quellcode:
Nun wollte ich testen ob die Ausrichtung auch passt, dazu habe ich mir im OnPaint einfach die PaintBoxen mit einem Rectangle und verschiedenen Farben ausmalen gelassen.
With PaintBox2 do //Anpassung PaintBox2 an Fenstergröße
Begin Top := 13; Left := 2; Height := GroupBox4.Height - 15; Width := GroupBox4.Width - RadioGroup3.Width - 2; end; With PaintBox3 do //Anpassung PaintBox3 an Fenstergröße Begin Top := 13; Left := 2; Height := GroupBox5.Height - 15; Width := GroupBox5.Width - RadioGroup5.Width - 2; end;
Delphi-Quellcode:
Nun habe ich folgendes Problem meine PaintBox2 wird in gelb ausgefüllt, und meine PaintBox3 in rot, woran könnte das liegen ?
PaintBox2.Canvas.Brush.Color := clred;
PaintBox2.Canvas.Rectangle(0,0,PaintBox2.Width,PaintBox2.Height); PaintBox3.Canvas.Brush.Color := clyellow; PaintBox3.Canvas.Rectangle(0,0,PaintBox3.Width,PaintBox3.Height); Ich habe weder die Namen der PaintBoxen verändert noch sonst etwas, auch habe ich die PaintBoxen + Delphicode gelöscht, und neu platziert und eingetippt. Jedoch bleibt dieses Problem bestehen. Das ganze Problem habe ich noch bei 2 weiteren PaintBoxen, bei den anderen PaintBoxen passt das so. Ergo 4 PaintBoxen sind in Ordnung, und die anderen 4 sind vertauscht, wobei die vertauschten jeweils in einer GroupBox liegen, welche wiederrum zusammen in einer (Haupt)GroupBox liegen. Vielen Dank für eure Hilfe. |
AW: Delphi verwechselt Paintboxen ?
Schreib mal ins OnPaint der PaintBoxen
Delphi-Quellcode:
Kanst auch beiden Boxen das selbe Ereignis zuweisen.
procedure TForm6.PaintBox1Paint(Sender: TObject);
begin TPaintBox(Sender).Canvas.TextOut(0, 0, TPaintBox(Sender).Name); end; |
AW: Delphi verwechselt Paintboxen ?
Liste der Anhänge anzeigen (Anzahl: 1)
Habe ich gerade eben gemacht..
Delphi-Quellcode:
Da steht dann auch PaintBox3, das stimmt..aber laut der Form und dem angegebenen Ort ist es die PaintBox2...bin am verzweifeln...
procedure TForm1.PaintBox3Paint(Sender: TObject);
begin TPaintBox(Sender).Canvas.TextOut(0, 0, TPaintBox(Sender).Name); end; Ich habe das ganze einfach mal hochgeladen vielleicht kann ja mal jemand drüberschauen |
AW: Delphi verwechselt Paintboxen ?
Wenn PaintBox3 da steht, dann ist es auch die PaintBox3.
Da wirst du dann wohl eher ein problem mit der Positionierung der Komponenten haben. Bin jetzt noch arbeiten ... später vielleicht. |
AW: Delphi verwechselt Paintboxen ?
Schau Dir mal die Beschriftungen Deiner GroupBoxen genau an: GroupBox 4 und 5 tauschen nämlich die Plätze.
[edit] Da die inneren GroupBoxen alTop ausgerichtet sind, lass mal das Setzen von Top weg und zeichne die PaintBoxen in deren eigenem OnPaint-Ereignis. [/edit] |
AW: Delphi verwechselt Paintboxen ?
@All
Vielen dank, hab garnicht dran gedacht das die GroupBoxen falsch sitzen, das habe ich doch total übersehen...den Wald vor lauter Bäumen nicht gesehen...jetzt gehe ich mich erstmal in die Ecke schämen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 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