Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FireMonkey Grafikfehler bei TTabControl (https://www.delphipraxis.net/171268-firemonkey-grafikfehler-bei-ttabcontrol.html)

AaronT 29. Okt 2012 11:39

FireMonkey Grafikfehler bei TTabControl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,

ich habe schon gesucht wie ein Blöder, aber nichts gefunden was mir weiter hilft.
Ich schreibe gerade ein DBMS und habe für verschiedene Aufgabenbereiche diverse Tabs mit einem TtabControl gemacht. In den TabItems sind Rectangles. Ich habe Forms erstellt, welche die einzelnen Aufgabenbereiche abdecken und wollte über Parenting die Forms wie Frames in den Tabs darstellen. Das alles funktioniert auch super, nur sind jetzt nach kurzem bedienen grafikfehler zu sehen.
ich habe eine GifAnimation davon erstellt, die befindet sich im Anhang.
Wie kann ich das beheben?

Grüße
AaronT

Darlo 29. Okt 2012 13:31

AW: FireMonkey Grafikfehler bei TTabControl
 
Hi,

hast Du mal folgendes ausprobiert?

Delphi-Quellcode:
  Tabcontrol1.BeginUpdate;
  tabitem1.BeginUpdate;

  //mach was

  Tabcontrol1.EndUpdate;
  tabitem1.EndUpdate;

  Tabitem1.Repaint;

AaronT 29. Okt 2012 15:08

AW: FireMonkey Grafikfehler bei TTabControl
 
Hallo,

Danke für deine Antwort, nur weis ich nicht genau wo ich das nun einfügen sollte bzw. welche aktion ich mit dem Update umschließen soll? Oder verstehe ich das ganz falsch?

AaronT 30. Okt 2012 11:36

AW: FireMonkey Grafikfehler bei TTabControl
 
Zitat:

Zitat von Darlo (Beitrag 1188902)
Hi,

hast Du mal folgendes ausprobiert?

Delphi-Quellcode:
  Tabcontrol1.BeginUpdate;
  tabitem1.BeginUpdate;

  //mach was

  Tabcontrol1.EndUpdate;
  tabitem1.EndUpdate;

  Tabitem1.Repaint;

Ich habe das mal in eine OnMouseDown Prcedure eines Edit Feldes geschrieben, weil ich dachte da müsste das ja wenigstens beim hineinklicken wieder funktionieren. Das editfeld ist mit mehreren Anderen Feldern in einer GroupBox und wenn ich jetzt in dieses Feld hereinklicke verschwinden sofort alle Editfelder wie in der Gif Animation von oben. Wenn ich mit der Maus über die Feld drüber fahre dann erscheinen sie wieder...

Was ist da Falsch?

Edit1: Ich habe festgestellt das eine Procedure an den Bugs schuld ist.
Diese:
[DELPHI]
procedure TFMain.OptikAnpassen(X,Y:integer);
begin

FMain.TC1.Height:=Y+20;//Anpassung der höhe von TabControl1
FMain.TC1.Width:=X;//Anpassung der Beite von TabControl1
FMain.ClientHeight:=Round(FMain.TC1.Height)+100;//Anpassung der höhe von FMain
FMain.ClientWidth:=Round(FMain.TC1.Width)+100;//Anpassung der Beite von FMain
end;
[/DELPHI

Diese Procedure bekommt als Parameter(X,Y) immer die Höhe und Breite des "Frames" auf das gewechselt werden soll, damit sich das Fenster der Größe des Frames anpasst.

Darlo 30. Okt 2012 11:59

AW: FireMonkey Grafikfehler bei TTabControl
 
Soweit ich weiß sollte man den Block aufrufen wenn du die "Forms einbettest"

AaronT 30. Okt 2012 12:10

AW: FireMonkey Grafikfehler bei TTabControl
 
Das sollte ja immer dann die Größe ändern wenn ich auf ein Tab gehe, aber das Prblem ist jetzt gelöst.
Ich habe die zwei Zeilen die ClientHight und ClientWidth verändern heraus genommen und das Fenster an sich einfach groß genug eingestellt, so das alle Tabs dort problemlos Platz haben. Und das Formular an sich ist eh durchsichtig deshalb stört diese Größe auch nicht :)

Trozdem Danke
Gruß
AaronT


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 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