![]() |
AW: Objekte "schnell" bewegen
Wenn aber während des Scrollens z.B. eine Zeile in der ListBox dazu kommt, muss ich wieder einen neuen Screenshot machen. Also vorher wieder einblenden, Screenshot, ausblenden, verschieben und zeichnen...
Macht das dann noch Sinn? Dann würde ja eigentlich ein Flackern entstehen (Durch das ständige ein- und ausblenden) und so ein Screenshot ist ja eigentlich auch nichts anderes. Naja, die 1 Sekunde Verzögerung werd ich wohl überleben ;) Ich werd' das mal versuchen. Viele Grüße und Danke für die vielen Antworten! |
AW: Objekte "schnell" bewegen
Eine weitere Option wäre es Komponenten, wie VGScene oder DXScene zu verwenden, die lassen sich leicht Verschieben/Skalieren usw. KSDev wurde aber von Embarcadero aufgekauft und die Komponenten erstmal vom Markt genommen
![]() |
AW: Objekte "schnell" bewegen
Ich würde das Canvas der Form in ein Bitmap Objekt speichern.
Alle Objekte auf der Form unsichtbar machen und dann das ganze Bildraus rollen lassen. Bleibt noch die frage ob du von den anderen Komponenten (also die die reinrollen ) vor ab einen Screen bekommst.... :( Für kleine Animationen reicht BitBlt oder die selbe Funktion aus der GDI+ für mehr Leistung müsste man dann wohl auf etwas "Richtiges" setzen. |
AW: Objekte "schnell" bewegen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin nicht sicher ob ich verstanden habe was Du genau suchst, etwas in der Art?
Ganz schnell und billig, besser geht in jedem Fall ... |
AW: Objekte "schnell" bewegen
Zitat:
vom Pronzip her genau, was ich brauche - danke für das Beispiel!! Frage ist nur, ob das auch ohne zweite Form geht? Wenn ich das Formular wie es ist auf ein unsichtbares Canvas sicher, dann alles ausblende und zeichne und später wieder einblende, dann müsste das doch klappen... Dann könnte ich mit CopyRect das Ganze aufs Form malen und verschieben. Ist denn dann auch das im unsichtbaren Canvas, was außerhalb des Bildschirms ist? Viele Grüße! |
AW: Objekte "schnell" bewegen
Versuch macht kluch ...
Es sind diverse Varianten, eine denkbare wäre auch nach der Animation auf einem leeren Mainform das 2. Form zu docken, also
Delphi-Quellcode:
verwende ich aus anderen Gründen in ähnlicher Form ständig, o.g. Aktionen sind allerdings in der Form2 Basisiklasse schon parametrisierbar implementiert.
Form2.BorderStyle := bsNone;
Form2.Align := alClient; Form2.Parent := Mainform; Form2.Show; |
AW: Objekte "schnell" bewegen
Ich finde es gut das der TE sich überhaupt Gedanken um Animation macht. Animationen richtig eingesetzt erhöhen die Benutzerfreundlichkeit eines Programms ungemein. Finde Idee mit dem ausfliegen und einfliegen der Komponenten ziemlich gut. Denn für das Menschliche Gehirn ist es anstrengend mit dingen klar zukommen die auf einmal übergangslos erscheinen oder verschwinden...sowas passiert in der Natur einfach kaum...am Monitor aber die ganze Zeit. Es trägt auch deutlich zur Ermüdung des Users bei.
So let the Pixels Fly ![]() |
AW: Objekte "schnell" bewegen
Hallo,
ich sehe schon, dass das nicht so einfach ist, wie ich es mir erhofft habe. Die Lösung von Bummi wäre zwar vom Prinzip her das richtige, Doch es sollen ja nur die Hauptkontrollen verschoben werden, nicht die Buttons oben und unten. Außerdem gibt es ein Hintergrundbild, welches auch einige Schwierigkeiten macht... Ich bin dabei, die Komponenten direkt über PaintTo anzusprechen, anstatt die Form. Nur als Alternative: Gibt es eine Möglichkeit, die Komponenten einfach sanft auszublenden und dann die andere einzublenden? Viele Grüße! |
AW: Objekte "schnell" bewegen
manche controls haben die eigenschaft
Delphi-Quellcode:
. Andere WinControls könnte man per API zum selben bewegen. Beim Formular klappt das ganz gut.
Alphablend
|
AW: Objekte "schnell" bewegen
Schon, aber irgendwie klappt das bei mir nicht.
Ich habe mir die LMD-Freewarekomponenten runtergeladen. Die sollten ja zumindest Transparenz können - klappt bei mir nicht :( Bei Delphi 5 gabs das noch nicht mit AlphaBlend - Delphi 6 hat das, doch bei Delphi 5 hab ich das auch mit dem Formular hingekriegt. Doch die Prozedur klappt leider nicht mit einem anderen Handle ... Viele Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 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