![]() |
Mein Programm hat nach dem start ein kleines Grafikproblem
Hallöchen,
wenn ich mein Programm starte, dann ist das PageControl mit Loks aktiv, siehe Bild1. Gehe ich nun auf ein anderes PageControl, dann sind die Header der ListViews komplett grau. Siehe Bild2. Gehe ich aber wieder auf Loks und dann wieder auf Funktionen, so sieht der Header wieder normal aus. Ist auch bei den anderen so. Aber es passiert nur beim starten und sobald ich mal alle durchgeklickt habe, so stimmt es dann bei allen. Beim nächsten Start ist das Problem wieder da. Ich habe dies auch auf normalen PCs ausprobiert, das gleiche Problem. Hat jemand ne Idee was das sein könnte? ReFresh oder RePaint bringt nichts! Grüsse, Daniel :hi: |
Moin Daniel B,
werden die Komponenten dynamisch erzeugt? |
Hallo Christian,
nein, nichts wird dynamisch gemacht. Grüsse, Daniel :hi: |
Hast du irgendwo den Items.EndUpdate zu Items.BeginUpdate vergessen? Oder blockierst du das Redraw der Komponente (WM_SETREDRAW)?
|
Hallo jbg,
nein, hab auch kein Begin- und EndUpdate... Ich mach auch nichts am ReDraw... Jedenfalls nicht bewusst ;) Grüsse, Daniel :hi: |
Hallöle,
keiner noch ne Idee? Ich möchte es so nicht hergeben. Sieht ja wirklich blöd aus. Habe es mal angehängt, ein paar "wichtige" sachen sind allerdings gesperrt. :) Vielleicht liegt es doch an bestimmen HW-Konfigurationen. Achja, in der Ini die angelegt wird, bei [Fensterdaten], Fensterposition nicht auf 0 setzen, sonst gibt es eine kleine Message beim nächsten Start. :oops: //Die aber sehr Lustig ist :mrgreen: Grüsse, Daniel :hi: |
Moin Daniel,
Deine besagte Meldung kommt ja automatisch, da die 0 automatisch beim Programmstart eingetragen wird :mrgreen: Den genannten Effekt hab' ich hier übrigens auch W2K SP2 Nur wo das herkommt kann ich mir im Moment nicht erklären. |
Hallo Christian,
Zitat:
Immerhin kommt es auch bei Dir, dann kann man immerhin sagen das es am Programm liegt und nicht an verschiedenen Systemen, das ist mir lieber so. Grüsse, Daniel :hi: |
Moin, hast du schon mal ausprobiert einfach das ListView zu löschen und ein neues auf die Form zu packen :?: Manchmal hilft das
Edit: Kann man die Kompos nicht beim ersten zeigen dazu zwingen sich neu zu zeichnen Hast du das HintWindow auch überschrieben, das sieht bei mir so komisch ganzgrau aus :| |
Mahlzeit,
Zitat:
Zitat:
Grüsse, Daniel :hi: |
Hallöchen,
ich habe heute nochmal ein bisschen damit rumgespielt. 1. Habe ich die LV von Funktionen gelöscht und das von Loks dahin kopiert, sodas es die gleiche Einstellungen hat. - Leider nichts gebracht 2. Ich habe auf dem dritten PC die L gelöscht und einfach eine neue eingefügt. Nur vsReport, GridLines und Header eingeschaltet. - Genauso schlimm Eigentlich ist alles noch schlimmer geworden. Den, vorher kammen die nach dem zweiten Switchen auf das jeweilige PC, die Header wieder. Die ist jetzt gar nicht mehr der Fall. Egal ob bei der Kopierten, oder bei der neu eingefügten. Die LV auf dem vierten PC hat immernoch das verhalten, das nach dem zweiten Umschalten die Header gehen. Weiterhin ist mir noch etwas aufgefallen. Siehe Anahng. Dies ist eine der neue LV. Die ganzen eingefügten Einträge sind ja gar nicht sichtbar. Nicht nur die Header. Langsam mach ich mir ernthafte Sorgen... :? Grüsse, Daniel :hi: |
Zitat:
Also, wieder nur das Problem wie von anfang an. Und zwar egal ob ich die LV aus Loks kopiere und bei Funktionen einfüge, oder bei Weichenstarassen ein komplett neue hinsetze. Nach dem zweiten anzeigen des TSheets, ist es weg und die Header wieder normal sichtbar. Grüsse, Daniel :hi: |
:bounce2: :bounce2: :bounce2:
Ich habs! Ich hab mir mal gedacht, schaust Dir mal genauer an, was Du in der ShowProz. überhaupt machst. Am anfang rufe ich folgende Prozuder auf:
Delphi-Quellcode:
Ich füge den Inhalt des Arrays in die LV ein.
procedure TMainFormMC2004.LVFktFuellen;
//ListView KK Funktionen mit Daten aus dem Loks-Record füllen var i: integer; begin ListViewKKFkt.Clear; for i := 0 to MC2004.MenueInit.FktAnzahl -1 do begin ListViewKKFkt.Items.Add; with ListViewKKFkt.Items.Item[ListViewKKFkt.Items.Count -1] do begin Caption := IntToStr(MC2004.MenueInit.FktStamm[i].FktID); SubItems.Add(MC2004.MenueInit.FktStamm[i].FktName); SubItems.Add(IntToStr(MC2004.MenueInit.FktStamm[i].FktAdresse)); SubItems.Add(IntToStr(i)); end; end; Check; end; Hab mal die Proz. ausgeklammert und der Fehler ist weg. :bounce1: Ach, ich bin so glücklich. :mrgreen: Die frage ist nun, wie umgehe ich das? Ich brauch ja die Prozeduren da drin. Irgendwo verständlich da noch nichts im Array drin ist. Wenn ich vorher was in den Arrays lade und dann die TS umschalte ist das Problem nicht. Da auch Inhalt in den Arrays drin ist. Hmm... *grübel* Grüsse, Daniel :hi: |
Bringt da BeginUpdate und EndUpdate vllt irgendwas :?:
|
Hi phlux,
nein, leider nicht. Auch kein ReFresh, oder RePaint, oder LV.Canvas.ReFresh. Alles nichts. Grüsse, Daniel :hi: |
Hallöchen,
ich habe den Fehler gefunden und behoben. Jetzt geht alles so wie es sollte. Das Problem: LV.Clear; Die Lösung: LV.Items.Clear; *anshirnklatsch* :mrgreen: Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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