AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi verwechselt Paintboxen ?

Ein Thema von Vukloc · begonnen am 21. Dez 2011 · letzter Beitrag vom 21. Dez 2011
Antwort Antwort
Vukloc

Registriert seit: 12. Sep 2011
25 Beiträge
 
Delphi 7 Enterprise
 
#1

Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 15:35
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:
  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;
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.

Delphi-Quellcode:
  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);
Nun habe ich folgendes Problem meine PaintBox2 wird in gelb ausgefüllt, und meine PaintBox3 in rot, woran könnte das liegen ?

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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 16:19
Schreib mal ins OnPaint der PaintBoxen
Delphi-Quellcode:
procedure TForm6.PaintBox1Paint(Sender: TObject);
begin
  TPaintBox(Sender).Canvas.TextOut(0, 0, TPaintBox(Sender).Name);
end;
Kanst auch beiden Boxen das selbe Ereignis zuweisen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Vukloc

Registriert seit: 12. Sep 2011
25 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 17:16
Habe ich gerade eben gemacht..

Delphi-Quellcode:
procedure TForm1.PaintBox3Paint(Sender: TObject);
begin
  TPaintBox(Sender).Canvas.TextOut(0, 0, TPaintBox(Sender).Name);
end;
Da steht dann auch PaintBox3, das stimmt..aber laut der Form und dem angegebenen Ort ist es die PaintBox2...bin am verzweifeln...

Ich habe das ganze einfach mal hochgeladen vielleicht kann ja mal jemand drüberschauen
Angehängte Dateien
Dateityp: rar Test.rar (11,4 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 17:29
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 17:36
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]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (21. Dez 2011 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Vukloc

Registriert seit: 12. Sep 2011
25 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Delphi verwechselt Paintboxen ?

  Alt 21. Dez 2011, 17:57
@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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz