![]() |
Generelle Frage Panel "smooth" einblenden
Wie bekommen manche Programme, wie der Wireshark, es eigentlich hin, Panels so sanft und flüssig einzuböenden?
Im Wireshark ist es das Panel unterhalb der Toolbar. Es lässt isch mit dem kleinen + ganz rechts einfahren. Wenn ich das mit einem Panel mache auf dem 2 Labels und ein paar CheckBoxen sind, flackert es nur so. Egal ob DoubleBuffered oder nicht. |
AW: Generelle Frage Panel "smooth" einblenden
Kann ich jetzt nicht nachvollziehen. Auch ohne DoubleBuffered wird das Panel sofort angezeigt (ohne Ruckeln und Flackern)
Hast du mal nen Testprojekt? |
AW: Generelle Frage Panel "smooth" einblenden
Bau mal das nach was Wireshark drin hat. Es geht nicht hier drum einfach Visible auf true und false zu setzen.
Alle Komponenten mit Align Right damit die mit dem Panel zusammen verschwinden. |
AW: Generelle Frage Panel "smooth" einblenden
Versteh ich jetzt nicht
Zitat:
|
AW: Generelle Frage Panel "smooth" einblenden
Ich vermute, es geht um das Slide-In?
|
AW: Generelle Frage Panel "smooth" einblenden
Genau darum geht es.
|
AW: Generelle Frage Panel "smooth" einblenden
Und wie hast du das aktuell implementiert?
|
AW: Generelle Frage Panel "smooth" einblenden
Auf der Form ein Panel. Auf dem Panel eine ScrollBox und auf der Scrollbox ein paar Komponenten.
Alle Komponenten haben akRight und akBottom als Anchor. Damit werden die Komponenten aus dem Bild verschoben, wenn ich dass Panel in der Breite gegen 0 setze. Ich mache das über eine Schleife die einfach immer 1 runter oder raufzählt, bis Min oder Max erreicht ist. Es flackert aber nicht, wenn ich die Anchors auf Standard lasse und die Komponenten sich nicht bewegen. |
AW: Generelle Frage Panel "smooth" einblenden
Liste der Anhänge anzeigen (Anzahl: 1)
Das geht auch einfacher mit AnimateWindow. Ich habe mal ein simples Projekt als Beispiel angehängt.
|
AW: Generelle Frage Panel "smooth" einblenden
Das ruckelt und zuckelt bei mir unglaublich.
Ich habe das als GIF-Animation mal aufgenommen. Das von Wireshark habe ich auch aufgenommen. Es ist sehr leichtgängig und kein Flickern. Alle Controls unter diesem Panel laufen auch leichtgängig mit. 32 KB maximal für ein GIF hier. Deswegen extern: ![]() und ![]() |
AW: Generelle Frage Panel "smooth" einblenden
Ich hätte die Grafik jetzt gerne gesehen, bekomme aber nur eine Fehlermeldung
Zitat:
Versuch doch vielleicht mal ![]() Solange ich die Bilder noch nicht gesehen habe, kann ich nur raten was gemeint ist. Ich kann nur sagen in unseren Anwendungen (Kiosk-Anwendungen) verwenden wir an ein paar Stellen tatsächlich das gute alte
Delphi-Quellcode:
, ansonsten tut der
AnimateWindow(..)
Delphi-Quellcode:
aus Delphi auch gute Dienste.
TSplitView
|
AW: Generelle Frage Panel "smooth" einblenden
![]() Beim oberen Bild besonders auf das Label und die Checkbox achten. Das hat nix mit AnimateWindow zu tun. Das passiert bei mir auch ohne AnimateWindow manuell mit einer Schleife oder sowas. Bei Wireshark sieht das alles super gut aus. |
AW: Generelle Frage Panel "smooth" einblenden
Moin...:P
Zitat:
Fazit für die DP: Alles was nicht Bild ist, in ein ZIP...fertsch. Und alles ist beieinander. :thumb: |
AW: Generelle Frage Panel "smooth" einblenden
Zitat:
|
AW: Generelle Frage Panel "smooth" einblenden
Zitat:
|
AW: Generelle Frage Panel "smooth" einblenden
Zitat:
Ich verstehe nicht welches Problem du mit imgur hast. |
AW: Generelle Frage Panel "smooth" einblenden
Zitat:
|
AW: Generelle Frage Panel "smooth" einblenden
Bis das Bild dort gelöscht wird, hat dieser Thread keine Relevanz mehr. Jetzt wird der Thread hier wieder künstlich aufgeblasen und das Problem geht unter... das liebe ich ja.
Jetzt bitte zurück zum Thema. |
AW: Generelle Frage Panel "smooth" einblenden
Ja neee, wenn also in zwei Jahren jemand das selbe Problem hat und den Thread findet, dann ist der bestimmt auch deiner Meinung und freut sich nichts zu finden. :stupid:
Nja, auch wenn ich eigentlich nicht viel von DoubleBuffered halte, so ist das genau für solche Dinge gedacht, wo viele Dinge aufwändig gemalt/verschoben/resized/ein-/ausgeblendet/... werden müssen. |
AW: Generelle Frage Panel "smooth" einblenden
Zitat:
|
AW: Generelle Frage Panel "smooth" einblenden
|
AW: Generelle Frage Panel "smooth" einblenden
Wenn das stimmt, dann ist das ja geklärt. Das klingt auch tatsächlich logisch irgendwie.
|
AW: Generelle Frage Panel "smooth" einblenden
Für das Label hätte ich spontan noch die Idee gehabt statt eines TLabel ein TStaticWindowText (oder wie das heißt) zu nehmen. Denn letzteres ist ein echtes TWinControl, während ein Label irgendwie durch ein paar Hulla-Hupp-Reifen springt um den Text direkt auf den Canvas seines Parent-Elements zu malen. Und da scheint ja irgendetwas schief zu laufen.
|
AW: Generelle Frage Panel "smooth" einblenden
Ich hätte eine andere, ganz böse Idee :lol:
Auf die entsprechende Region ein leeres TImage legen. Bei Bedarf einen Screenshot machen, das TImage füllen und dann die Animation starten. Ist aber viel Aufwand für nichts. Außerdem würde das sicherlich einige Zeit dauern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:08 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