Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Expandierendes Fenster - ist es überhaupt möglich? (https://www.delphipraxis.net/201232-expandierendes-fenster-ist-es-ueberhaupt-moeglich.html)

Andreas13 5. Jul 2019 21:41

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Sorry, ich bin schon wieder: Mein Delphi XE5 kennt die Unit uAnimationAPI (noch) nicht...
Danke & Gruß, Andreas

EWeiss 5. Jul 2019 21:56

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von Andreas13 (Beitrag 1436133)
Sorry, ich bin schon wieder: Mein Delphi XE5 kennt die Unit uAnimationAPI (noch) nicht...
Danke & Gruß, Andreas

ok hier der gesamte Source inclusive der DLL. (Ich lösche den anderen wieder.)
Aber vorweg Animatewindow funktioniert nicht wenn die Form ein Caption hat.

Windows 10 hat die Funktion platt gemacht.
Bei mir geht es deshalb weil ich meine Windows alle selber zeichne.

gruss

Andreas13 5. Jul 2019 22:14

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Danke!!!

EWeiss 5. Jul 2019 22:15

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von Andreas13 (Beitrag 1436135)
Danke!!!

Kein Problem ;)
Wie gesagt bei mir geht es 100% tig..

gruss

Andreas L. 6. Jul 2019 10:59

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von Andreas13 (Beitrag 1436111)
Unter Windows 10 wird zunächst ein durchsichtiges Fenster mit sichtbarem Rahmen & Kopfzeile erzeugt. Das Fenster expandiert aus dem Nichts in diesen durchsichtigen Rahmen bis zur endgültigen Größe hinein.
Die Implosion verläuft analog, nur rückwärts: Das Fenster stürzt in einen durchsichtigen Rahmen hinein.
--> Verhalten: UNSCHÖN!

Im MSDN steht zu AnimateWindow folgender Hinweis:

Zitat:

Avoid animating a window that has a drop shadow because it produces visually distracting, jerky animations.
Vielleicht ist das ja dein Problem?!

EWeiss 6. Jul 2019 11:23

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von Andreas L. (Beitrag 1436151)
Zitat:

Zitat von Andreas13 (Beitrag 1436111)
Unter Windows 10 wird zunächst ein durchsichtiges Fenster mit sichtbarem Rahmen & Kopfzeile erzeugt. Das Fenster expandiert aus dem Nichts in diesen durchsichtigen Rahmen bis zur endgültigen Größe hinein.
Die Implosion verläuft analog, nur rückwärts: Das Fenster stürzt in einen durchsichtigen Rahmen hinein.
--> Verhalten: UNSCHÖN!

Im MSDN steht zu AnimateWindow folgender Hinweis:

Zitat:

Avoid animating a window that has a drop shadow because it produces visually distracting, jerky animations.
Vielleicht ist das ja dein Problem?!

Hat damit nichts zu tun AnimateWindow wird von Windows 10 nicht mehr komplett unterstützt es wird NUR noch der Clientbereich animiert.
Wenn man das halbwegs mit Caption vernünftig animieren will muss man sich einiger tricks bedienen zum Beispiel die GWL_STYLES zur Laufzeit verändern so das dass Caption erst sichtbar wird wenn die Animation abgeschlossen ist.
Oder man zeichnet sein Fenster selbst und verzichte auf die vorgefertigten Forms.

Du musst doch nur mein Beispiel laden dann siehst du doch was abgeht. ;)
MS bietet API's an die sie selbst verändert haben und nichts mehr gemein haben mit den Aussagen in der MSDN frage mich warum der Mist nicht gelöscht wird.
Ich glaube langsam die blicken da selbst nicht mehr durch.


gruss

Andreas13 6. Jul 2019 14:57

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Liste der Anhänge anzeigen (Anzahl: 1)
@EWeiss
Danke für Deine professionellen Lösungen: Respekt & Hut ab!
Ich habe bisher fast ausschließlich Berechnungsalgorithmen ohne visuelle Komponenten programmiert und mache mit den Windows-Objekten meine ersten mühsamen Gehversuche. Daher werde ich noch viel lernen müssen, bis ich Deinen anspruchsvollen Code ganz verstehen und nachvollziehen kann.

Auf Deiner Erkenntnis basierend, wonach AnimateWindow unter Win10 nur noch den Client-Bereich animiert, habe ich eine halbwegs brauchbare Lösung gefunden: BorderStyle und Capture werden beim Expandieren erst nach der Animation hinzugefügt, bzw. vor dem Implodieren entfern. Im Anhang (Animiertes_Fenster - 2019-07-06.zip) sind alle Files dazu vorhanden.

Ein Schönheitsfehler ist jedoch, daß bei dieser (meiner) Lösung das Programm-Icon verschwunden ist und bleibt.

Gruß, Andreas

EWeiss 6. Jul 2019 15:00

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Ein Schönheitsfehler ist jedoch, daß bei dieser (meiner) Lösung das Programm-Icon verschwunden ist und bleibt.
Kannst du dir doch aus der Ressource laden ;)
Zitat:

BorderStyle und Capture werden beim Expandieren erst nach der Animation hinzugefügt, bzw. vor dem Implodieren entfern.
Denke damit kann man leben sieht doch gut aus.

gruss

Andreas13 6. Jul 2019 15:01

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von EWeiss (Beitrag 1436170)
Zitat:

Ein Schönheitsfehler ist jedoch, daß bei dieser (meiner) Lösung das Programm-Icon verschwunden ist und bleibt.
Kannst du dir doch aus der Ressource laden ;)

Sorry, das verstehe ich (noch) nicht...
Aber ich bin ein gelehriger Schüler.

EWeiss 6. Jul 2019 15:04

AW: Expandierendes Fenster - ist es überhaupt möglich?
 
Zitat:

Zitat von Andreas13 (Beitrag 1436171)
Zitat:

Zitat von EWeiss (Beitrag 1436170)
Zitat:

Ein Schönheitsfehler ist jedoch, daß bei dieser (meiner) Lösung das Programm-Icon verschwunden ist und bleibt.
Kannst du dir doch aus der Ressource laden ;)

Sorry, das verstehe ich (noch) nicht...
Aber ich bin ein gelehriger Schüler.

Jede Exe verfügt über eine Ressource oder? die *.res Datei wird dort eingebunden.
Dort ist das Icon hinterlegt und dort kannst du es zur Laufzeit extrahieren und neu zuweisen.

Suche mal nach Icon von Ressource.. laden

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz