![]() |
Eigene Hintklasse nur für bestimmte Controls
Hallo!
Ich stricke an einer Komponente für eine Adressliste. Dabei soll eine Funktion sein, dass wenn der Nutzer die Maus über einen Namen hält ein "erweiterter Hint" mit Bild, Anschrift und sonstigen Kontaktdetails angezeigt wird. Das lässt sich mit dem normalen Hintfenster natürlich nicht lösen. Daher habe ich eine eigene Klasse von THintWindows abgeleitet. Mein Problem ist nun, dass ich diesen erweiterten Hint nur innerhalb der Komponente und auch dort nur an ganz bestimmten Controls verwenden will. Überall anders soll der normale Hint verwendet werden. Ich kann den Hint aber nur durch Application.HintWindowClass ändern. Das ändert aber den Hint für das gesamte Programm... Wie kann ich meinen erweiterten Hint nur einzelnen Controls zuweisen? Besten Dank Ares |
Re: Eigene Hintklasse nur für bestimmte Controls
Hallo Ares,
im Ereignis ![]() ![]() Das Herausfiltern der gewünschten Controls findet damit allerdings auf Formularebene statt und nicht lokal in deiner Komponente. Gruß Hawkeye |
Re: Eigene Hintklasse nur für bestimmte Controls
Hallo Hawkeye,
vielen Dank für den Tipp! Wie du schon sagst liegt bei dieser Lösung ein Teil der Funktion der Komponente beim Formular bzw. dem Programm. Das ist natürlich nicht optimal, da die Komponente eigentlich in sich funktionieren sollte. Gibt es hierzu also noch eine andere Möglichkeit? Besten Dank Ares |
Re: Eigene Hintklasse nur für bestimmte Controls
Zitat:
Man könnte nun diese Nachricht in den Controls abfangen und die übergebenen Daten anpassen:
Delphi-Quellcode:
Ob diese Lösung sauber genug und damit für dich akzeptabel ist, musst du selbst entscheiden.
procedure TYourControl.CMHintShow(var Message: TMessage);
var Info : PHintInfo; begin inherited; Info := PHintInfo(Message.LParam); Info.HintWindowClass := TMyHintWindow; end; Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 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