Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Schon klar, deswegen waren die MessageHandler meine erste Idee; THintWindow wird offenbar dennoch anders behandelt. Schon mal selbst probiert?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
IIUC ist es kein ausgewachsenes Fenster, sondern "nur" ein TWinControl. Ich vermute, daß Windoof ein Tooltip-Window erzeugt und Delphi das THintWindow (das zwar Window heißt, aber kein TCustomForm ist) darin einbaut um die Anzeige zu malen.
Es würde mich zwar akademisch interessieren, wie der Mechanismus tatsächlich abläuft, aber die Zeit dafür bezahlt niemand :-/
Ich bin momentan happy...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Das sieht doch mal gut aus :thumb:
Daß dabei TApplication.HideHint als einzige Methode derart gepatcht werden muß bekräftigt mich in der Annahme, daß in diesem Fall die üblichen Mittel tatsächlich nicht ausreichen.
Danke sehr!
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Wie ich schon schrieb ... Message abfangen funkt leider nicht.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Das hatte ich ausprobiert und mglw etwas übersehen, aber es scheint so, daß das Hintfenster nicht zerstört wird, sondern nur versteckt. Leider.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Danke für den Tip, ich möchte möglichst ohne ZusatzTools auskommen.
Mein Weg wird wohl sein, eine eigene THintWindow-Klasse zu erstellen, dort ShouldHideHint zu überschreiben und mir darin selbst eine Message zu posten. :?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
var
lpDummy: Pointer;
begin
lpDummy := TMethod(Application.HideHint).Code;
funktioniert nicht und resultiert in:
E2089 Ungültige Typumwandlung
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Stimmt, es ist eine Methode und kein Property.
Daher sollte der Cast auf TMethod funktionieren. Tut er aber nicht. Und das wundert mich, da ich auf diese Art öfter das Verhalten von Methoden ändere. Und dort geht das.
Das ist übrigens kein schmutziger Trick, sondern funktioniert mit den Bordmitteln ganz legal. Der Record TMethod ist für Zwecke wie diesen gemacht.
käme dann zum Tragen,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by ConnorMcLeod,
22. Feb 2015
Hallo Kollegen,
vllt steh ich gerade fest aufm Schlauch, aber ... weshalb bringt D2010 einen E2089 bei TMethod(Application.HideHint).Code := MyAppHideHint.Code; ?
Ich möchte die HideHint-Prozedur ändern, um zusätzlich selbst darauf reagieren zu können, wenn das HintFenster ausgeblendet wird.
Wie immer danke für alle Ideen ;-) + fg