Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Natives Layout unter Firemonkey (https://www.delphipraxis.net/212223-natives-layout-unter-firemonkey.html)

Peter666 6. Jan 2023 16:32

Natives Layout unter Firemonkey
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich würde gerne transparente Grafiken über native Elemente wie den Webbrowser packen. Das geht leider nicht wirklich. Es gibt zwar den ControlType = Platform, aber wenn ich das mit einem Panel mache, dann ist das nicht transparent.
Also dachte ich mir probierst du es mit dem Presentation Model System von Firemonkey. Anbei der komplette Code. Ich frage mich, wieso das nicht geht. Hat jemand eventuell eine Idee? Die Basis für den Code war dieser hier: https://github.com/tothpaul/Firemonk...master/GLPanel

Peter

TurboMagic 6. Jan 2023 17:56

AW: Natives Layout unter Firemonkey
 
Bedenke: nicht alle FMX Controls haben eine native Repräsentation. Das sind bisher nur ein paar wenige.

Peter666 6. Jan 2023 19:35

AW: Natives Layout unter Firemonkey
 
Oh ja, das weiß ich - deswegen wollte ich ein Natives Element (was quasi ein transparentes Fenster ist) erstellen.
Das ist hier beschrieben:
http://yaroslavbrovin.ru/new-approac...ion-part-1-en/

Im Prinzip habe ich eine Klasse die auf TWinPresentation aufbaut und unter Windows von meinem TPresentedControl verwendet wird. Das machen quasi alle Platform Elemente. Jetzt setze ich das verwendete Handle auf transparent, aber es funktioniert nicht wie gedacht. Im Prinzip kann man auch "bescheissen" und ein Rahmenloses transparentes Form benutzen und dieses via Winapi.Windows.SetParent(WindowHandleToPlatform(FV iew.Handle).Wnd,
WindowHandleToPlatform(LForm.Handle).Wnd); auf das Hauptformular pappen. Das ist nur ziemlicher Murx, flackert böse und eine saubere Variante wäre halt prima. Ein einfaches Usecase ist, wenn man ein Video abspielt und ein OSD darüber rendern will. Das geht auch mit nem transparenten Formular, ist halt nur unsauber und lahm.

Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.

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