Entwickler-Ecke
Multimedia / Grafik - wie aktualisiert man den Bildschirm?
Delphianer23 - Di 04.02.03 16:04
Titel: wie aktualisiert man den Bildschirm?
Ich mach nen scrennshot, kurz davor wird aber noch eine komponete .visible:=false gesetzt, damit diese nicht auf dem Bild vorhanden ist.
Es ist allerdings zu kurz davor, dass der Bildschirm nicht mehr "geupdated wird" und eine komponente (ein großer Button) darauf zu sehen ist.
Wie aktualisiert man den Bildschirm?
Aya - Di 04.02.03 16:21
Hi,
bist du dir sicher das du den Button ERST ausblendest, und dann den Screenshot machst..??
Bei mir geht das nämlich problemlos...
Poste dochmal deinen Code :)
Au'revoir,
Aya~
Aya - Di 04.02.03 16:25
Hi,
hab grad rausgefunden das wenn man DoubleBuffered=true gemacht hat, das der Button dann noch dableibt beim Screenshot.. :)
Abhilfe bringt da:
Quelltext
1: 2: 3:
| Button1.Visible:=False; Form1.Refresh; MakeScreenshot(Image1.Picture.Bitmap); |
Au'revoir,
Aya~
Delphianer23 - Di 04.02.03 16:29
ja, bin mir ganz sicher
etwa so siehts aus
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| groupbox1.visible:=false
Bitmap1:=TBitmap.create ... c.handle:=GetDC(HWND_DESKTPOP); ... Bitmap1.saveto file ... Release() Bitmap1.free;
groupbox1.visible:=true; |
auf jeden Fall werden die Sachen vorher auf visible false gesetzt, Es muss doch so was wie updatedata() als befehl geben??
Moderiert von
Tino: Code-Tags hinzugefügt.
Delphianer23 - Di 04.02.03 16:31
ok ich probier mal Form1.refresh aus. Ich hab das gesamte repaint der Form abgestellt. (doupple bufferd verschlingt bestimmt auch resourcen)
ja, es funktioniert
Danke Aya :P
Moderiert von
Tino: Leerzeilen entfernt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!