![]() |
HintPause in FireMonkey?
Moin @ALL,
hat jemand nen tipp, wie/wo ich in fmx festlegen kann, wie lange ein hint angezeigt werden soll? in der vcl ist dat ja kein problem, aber in fmx hab ich nix gefunden. waere supi.. ...de Schorsch |
AW: HintPause in FireMonkey?
Leider gibt es da (meines Wissens nach) keine eingebaute Möglichkeit so etwas zu setzen.
Ich hätte mir so eine Möglichkeit auch gewünscht, ich selber hatte ja so etwas mal in einer Unit implementiert, als es noch keine Hints in FireMonkey gab. Dir bliebe nur noch die Möglichkeit, eine Zuweisung für Application.onhint vorzunehmen und den Inhalt des Hints selber nach Deinen Wünschen anzuzeigen. Du müsstest dazu im Onhint-Event die normale Hintanzeige canceln und dann anhand des Hinttextes die passende Komponente dazu in Deiner Form finden, so dass Du dann den Hint an der richtigen Stelle anzeigen kannst. Für den Fall, dass das für Dich in Betracht kommen sollte, als evtl. Inspiration für die Gestaltung des Hints ein (älteres) Video dazu: ![]() |
AW: HintPause in FireMonkey?
Na, noch der Hinweis, bevor Du Dir evtl. entsprechende Arbeit machst: Nachdem ich das gestern hier geschrieben hatte, kam mir der Gedanke, dass die Lösung die ich damals zur Anzeige von Hints etnwickelt hatte, mir sehr viel besser gefällt, also das nun in Delphi FMX integriert ist.
Habe daher selber die vorgeschlagene Lösung umgesetzt und hierzu auch ein kleines Video gemacht, dort findest Du auch den Downloadlink zu der Unit: ![]() |
AW: HintPause in FireMonkey?
Einfach mal VCL.Forms einbinden und in dessen Application die HintPause setzen?
Mit etwas Glück wird, auch an dieser Stelle, etwas der VCL benutzt. |
AW: HintPause in FireMonkey?
Zitat:
|
AW: HintPause in FireMonkey?
Nein, nicht direkt. (auch wenn es mehrere Leute gibt, welche VCL und FMX mischen, also beide Fenstertypen in einer Anwendungen verwenden)
Unter Windows greift das FMX ja auf Funktionen des Windows zu. Der Einfachheit halber kann Emba dort dann auch Funktionen der VCL benutzt haben ... wenn dem so ist, würde man über den Zugriff auf die VCL dann eventuell die selbe Funktion steuern, welche über FMX nicht direkt zugreifbar ist. Ähnlich wie bei den Windows-Services, wo es "Application" (TServiceApplication aus Vcl.SvcMg) gibt, welches in der DPR benutzt wird. Intern verwendet Dieses aber das "Application" der VCL (TApplication aus Vcl.Forms). Will man z.B. an die Fehlerbehandlung des Services ran, dann kann es über die VCL lösen. (siehe TServiceApplication.Create, .Run und .Destroy) Einfach nur ein Versuch: * Unit Vcl.Forms ins Uses * über dessen Application diese Eigenschaft ändern und schauen ob es im FMX eine Wirkung hat
Delphi-Quellcode:
Vcl.Forms.Application.HintHidePause := 666;
|
AW: HintPause in FireMonkey?
Zitat:
|
AW: HintPause in FireMonkey?
tks, habe es mir mal angeschaut, doch dazu die frage:
du sagtest im video, dass texte umgebrochen werden - ich habe die aber alle muehsam in ner unit mittels slinebreak entspr. formatiert. koennte man das als option "abschalten", oder ist das vllt. schon drin? ...de Schorsch |
AW: HintPause in FireMonkey?
Liste der Anhänge anzeigen (Anzahl: 1)
...hab mir das schon gedenkt. macht probs :(
(siehe anhang) |
AW: HintPause in FireMonkey?
Du könntest insofern eine Anpassung vornehmen, als dass Du bei der Zuweisung des Hints an den Label-Text die sLinebreaks entfernst und die Aufteilung der Zeilen ansonsten der Routine überlässt.
Ändere einfach die Zeile
Delphi-Quellcode:
Dafür musst Du auch die Unit "System.StrUtils" noch einbinden.
Lab.text := Application.hint; // alt
// in Lab.text := ReplaceStr (Application.hint, sLineBreak, ' '); // neu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 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 by Thomas Breitkreuz