![]() |
button löschen mit nebenwirkungen
Liste der Anhänge anzeigen (Anzahl: 1)
ich schon wieder...
also hier tritt n kleines prob auf:
Delphi-Quellcode:
wenn erst viele buttons existieren, zb 9x9 un danach wenige erstellt werden, zb5x5 dann hat der
begin
for loop1:=0 to ((n2*d2)-1) do Feld[loop1].Free; {Felder erstellen} for loop1:=0 to (d1-1) do {y} for loop2:=0 to (n1-1) do {x} begin i:=(loop2+(loop1*n1)); Feld[i]:= TSpeedButton.Create(Form1); with Feld[i] do begin parent:= Form1; Name:= 'Feld'+IntToStr(i); Top:= 40+(loop1*25); Left:= 20+(loop2*25); Width:= 25; Height:= 25; Tag:=i; Feld[i].Glyph.LoadFromFile('feld.bmp'); end; end; n2:=n1; d2:=d1; end; irgendwelche fehler beim anzeigen. siehe bild im anhang. an was liegt das?? |
Re: button löschen mit nebenwirkungen
Vielleicht hilft es schon, wenn du die Form nach dem Löschen neu zeichnen lässt.
Delphi-Quellcode:
Grüße vom marabu
begin
for loop1:=0 to ((n2*d2)-1) do Feld[loop1].Free; Application.ProcessMessages; {Felder erstellen} for loop1:=0 to (d1-1) do {y} for loop2:=0 to (n1-1) do {x} // ... |
Re: button löschen mit nebenwirkungen
ne, des funktioniert nich so ganz...
|
Re: button löschen mit nebenwirkungen
Dann musst du nachhelfen - z.B. mit Form1.Invalidate().
marabu |
Re: button löschen mit nebenwirkungen
hey, es klappt. THX :thumb:
aber kannst mir vllt kurz noch erklären was des genau bewirkt?? |
Re: button löschen mit nebenwirkungen
Du vernichtest in der ersten Schleife visuelle Komponenten und baust in der zweiten Schleife wieder welche auf - ohne einmal Luft zu holen. Dadurch bringst du den nachrichten-basierten window painter aus dem Tritt. Mit Invalidate() sagst du Bescheid, dass er sobald wie möglich die Form neu malen soll.
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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 by Thomas Breitkreuz