Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi THintWindow.OnClick (https://www.delphipraxis.net/107329-thintwindow-onclick.html)

Dunkel 25. Jan 2008 22:59


THintWindow.OnClick
 
Hallo zusammen!

Entweder stelle ich mich (mal wieder) selten dämlich an oder mein Vorhaben funktioniert so nicht.

Folgendes:
Ich habe mir eine von THintWindow abgeleitete eigene Klasse zum Anzeigen von Programmereignissen erstellt. Unicode, optionale Grafik, unterschiedlich große Textfelder, Farben, FadeIn/Out, etc. p.p.. Funktioniert alles auch wunderbar.

Die Fensterchen werden knapp über der Taskleiste angezeigt und durch einen TTimer automatisch nach n Sekunden geschlossen. Da manche User ja regelrechte Schnellleser sind (oder einfach nur Ignoranten :zwinker: ) dachte ich mir, dass ich dem Benutzer die Möglichkeit gebe das Fenster mit der Ereignisbehandlung für das OnClick-Ereignis frühzeitig schließen zu können. Nö, geht natürlich nicht. :wall:

Meine Vorgehensweise ist die, dass ich der Klasse eine MyOnClick(Sender: TObject)-Methode hinzufüge, im Konstruktor Self.OnClick = MyOnClick zuweise. Laut Niklaus Wirth (Adam Riese passt hier IMHO nicht so wirklich :mrgreen: ) sollte das Ereignis doch meine Methode aufrufen, es passiert aber nichts.


Was mache ich falsch? Gibt es irgendeine andere Möglichkeit benutzergesteuert solch ein Hint-Fenster zu schließen?

SirThornberry 26. Jan 2008 08:44

Re: THintWindow.OnClick
 
Ein OnClick für THintWindow geht nicht weil der Style dieses HintWindows so gesetzt ist das Mausereignisse an das darunterliegende Fenster weitergeleitet werden.
Und zu deiner Frage ob es eine andere Möglichkeit gibt. Wenn du ein THintWindow nimmst solltest du das Standardverhalten davon aktzeptieren (nichts verwirrt Nutzer mehr als wenn etwas sich plötzlich anders verhält als sonst)

Dunkel 26. Jan 2008 12:45

Re: THintWindow.OnClick
 
Zitat:

Zitat von SirThornberry
Ein OnClick für THintWindow geht nicht weil der Style dieses HintWindows so gesetzt ist das Mausereignisse an das darunterliegende Fenster weitergeleitet werden.

Jetzt wo Du es sagst sehe ich es auch. :wall: Damit wäre mein Problem gelöst. :dp:

Zitat:

Zitat von SirThornberry
Und zu deiner Frage ob es eine andere Möglichkeit gibt. Wenn du ein THintWindow nimmst solltest du das Standardverhalten davon aktzeptieren (nichts verwirrt Nutzer mehr als wenn etwas sich plötzlich anders verhält als sonst)

Im Grunde hast Du recht. Mein OwnTHintWindow hat aber nicht all zu viel mit dem Standard-THintWindow zu tun. Mein HintWindow ähnelt der Notification von WinAmp wenn ein neues Lied abgespielt wird. Also halte ich mich im Grunde an den Standard, nämlich von WinAmp. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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-2025 by Thomas Breitkreuz