AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FireMonkey Sammelthread

Ein Thema von mquadrat · begonnen am 1. Sep 2011 · letzter Beitrag vom 27. Jul 2013
Antwort Antwort
Seite 15 von 20   « Erste     5131415 1617     Letzte »    
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#141

AW: FireMonkey Sammelthread

  Alt 15. Mär 2013, 01:22
Wie kann man zwischendurch refreshen? Ich dachte, FM wäre da direkter als die VCL...
Hallo Stahli,

auch wenn es etwas spät kommt - hier die Lösung:
Delphi-Quellcode:
 PaintRects([RectF(100,100,200,200)]);
  //...
Die Methode PaintRects des Formulars ist für das (sofortige) Neuzeichnen zuständig. Konstruktionen mit einem Timer oder Threads sind damit überflüssig.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#142

AW: FireMonkey Sammelthread

  Alt 15. Mär 2013, 20:37
Danke, aber die Methode ist protected.
In Beitrag #119 habe ich mal andere geschützte Methoden versucht, ohne Erfolg.
Hier müsste man jetzt die Formularbereiche ermitteln.

(Ich denke auch, dass FMX die Methode selbst aufruft, will mich aber jetzt nicht nochmal durch das ganze System hangeln.)

Nutzt Du die Methode selbst? Dann gib mal bitte ein Beispiel.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#143

AW: FireMonkey Sammelthread

  Alt 15. Mär 2013, 21:17
Stimmt - in den Quelltexten sie ist protected. Geht aber trotzdem ohne Probleme: Irgendwie scheinen die gelieferten DCU's nicht mit den Quelltexten übereinzustimmen. Das ist mir schon an vielen Stellen aufgefallen, weil der Compiler Konstanten nicht finden konnte, obwohl sie in den Quellen von Firemonkey enthalten sind. Sollte es bei Dir trotzdem nicht funktionieren, nutze einfach einen Class-Helper.

Die Methode habe ich herausgefunden, nachdem ich den Ablauf der Formularaktualisierung debuggt hatte. Die Methode Repaint bewirkt ja leider nicht wie in der VCL ein Invalidate+Update sondern nur das Invalidate. Insofern ist das eine völlig falsche und irreführende Benennung in Firemonkey.

Ja, ich benutze die Methode selbst. Beim Betätigen eines Buttons wird die Kamera in einem Viewort3D bewegt. Das Bild wird normalerweise erst aktualisiert, nachdem die linke Maustaste losgelassen wurde. Das geht natürlich gar nicht und deshalb hatte ich mich auf die Suche nach einer Lösung begeben. Der Aufruf von PaintRects funktioniert sehr zuverlässig und verzögerungsfrei, da keinerlei Nachrichten geschickt werden und das Repaint unmittelbar ausgeführt wird.
Delphi-Quellcode:
  [...]
  PaintRects([Viewport3D1.ClipRect]);
  [...]
Das Verfahren funktioniert deshalb sogar in einer For-To-Schleife ohne Application.ProcessMessages oder ähnlichen Dingen.

Insofern hast Du vollkommen Recht: Firemonkey ist viel direkter als die VCL. Die Entwickler müßten es nur mal hinbekommen, die Methoden ordentlich zu benennen und nicht alles in protected oder private-Abschnitten zu verstecken.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (15. Mär 2013 um 21:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#144

AW: FireMonkey Sammelthread

  Alt 15. Mär 2013, 21:41
Du hast Recht. Hoffen wir mal drauf, dass Emba da noch nachbessert.

Ich merke mir PaintRects mal vor (allerdings müsste man ja sicher auch noch bei Verschachtelungen das Rect des Controls auf dem Formular ermitteln (da meine Controls nicht zwingend direkt im Formular liegen)).
Vielleicht gibt es ja doch mal noch ein Update, so dass man sich das sparen kann.
Bis dahin bleibe ich wohl erst mal (der Einfachheit halber) beim Invalidate.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#145

AW: FireMonkey Sammelthread

  Alt 15. Mär 2013, 22:03
Ich glaube, da brauchst Du gar nicht so viel zu berechnen: TControl.UpdateRect sollte schon den notwendigen Bereich liefern.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#146

AW: FireMonkey Sammelthread

  Alt 17. Mär 2013, 02:49
FMX hat noch Licht und Schatten, der beigefügte Schatten fällt aber unter Licht! (Ja, ja, es ist spät. )

Mit dem Hinzufügen eines einzigen Effektes kann man die GUI optisch ganz schön aufpeppen, was m.E. die Übersichtlichkeit extrem verbessert.
Die Umsetzung in den Bildern ergab sich eher zufällig, ich finde das aber richtig genial so.

Natürlich darf man die Effekte nicht übertreiben aber sie können ein sehr nützliches Mittel sein.

Gefällt Euch das auch?
Miniaturansicht angehängter Grafiken
schattenohne.jpg   schattenmit.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#147

AW: FireMonkey Sammelthread

  Alt 17. Mär 2013, 11:59
Also mir gefällt es auch.

Man wird für die Komponenten selber zwar nur wenige der Effekte verwenden können, ich denke die meisten der Effekte sind eher für Bildbearbeitung gedacht.

Aber die Effekte, die man für Komponenten nutzen kann, wie etwa der TShadoweffekt, sind nützlich. Was z.B. auch geht, ist der TGlowEffekt, mit Trigger MouseOver, dann kann man z.B. hier in bestimmten Situationen den Fokus der Eingabeelemente (z.B. TEdit) noch stärker betonen.

Die ganzen Effekte kann man sich in dem mitgelieferten FireMonkey-Demo "ShaderFilters" einmal ansehen, ziemlich beeindruckend finde ich.
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#148

AW: FireMonkey Sammelthread

  Alt 17. Mär 2013, 12:09
Ja, leider ist die genannte Demo eher auf Grafiken bezogen.
Ich finde interessanter, eine GUI mit sinnvollen Effekten zu optimieren.
Wer Beispiele hat, immer her damit
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Merkur

Registriert seit: 17. Feb 2004
7 Beiträge
 
#149

AW: FireMonkey Sammelthread

  Alt 18. Mär 2013, 12:27
Hallo,

ich habe mir im Dezember noch XE3 Prof. zum Aktionspreis zugelegt. Hintergrund u.A.: ich muss ein Programm auf einem Windows Tablet laufen lassen. Mit Umstieg auf Windows 8 (Windows 7 ist meiner Meinung nach nicht wirklich auf Tablets nutzbar) muss ich eben diese App bzw. die Oberfläche für das Tablet portieren.
Das wollte ich zum Anlass nehmen, Delphi XE3 mit Firemonkey und Metro UI erstmalig zu nutzen.

Was mir zunächst aufgefallen ist: Man muss sich wohl mit Styles beschäftigen, die irgendwie nicht intuitiv zu erfassen sind.
Aber mit Padding kommt man schon ziemlich weit...

Allerdings stehe ich nun vor einem Problem, für das ich dringend Hilfe benötige:
Ich muss Daten in ein TEdit eingeben und habe keine Tastatur auf dem Tablet zur Verfügung. Delphi 2010 hatte ja noch ein Touch-Keyboard das funktionierte. Firemonkey wohl nicht.
Demos habe ich bislang keine gefunden, aber es sollte doch wohl eine Lösung geben. Ich bin sicher nicht der Erste mit der Abforderung etwas in ein TEdit einzugeben.

Danke schon einmal im Voraus.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#150

AW: FireMonkey Sammelthread

  Alt 18. Mär 2013, 12:32
Das wollte ich zum Anlass nehmen, Delphi XE3 mit Firemonkey und Metro UI erstmalig zu nutzen.
Vielleicht habe ich da etwas verpasst - aber Metro UI (mittlerweile heisst es "Modern UI") wird von Delphi nicht unterstützt.
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 15 von 20   « Erste     5131415 1617     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 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