![]() |
Panel auf Desktop platzieren
Morgen.
Ich habe ein Panel mit mehreren Subkomponenten. Das Panel dient mir als eine Art "Infobox", die bei nem Mouseover "uppoppt". Sie poppt immer an Mausposition auf. Wenn der Popup jedoch ganz rechts bei der Form passiert, kann die Infobox natürlich leider nur innerhalb der Form sein. Sie müsste jedoch, um richtig dargestellt zu werden, die Form verlassen und am Desktop erscheinen. Wie mache ich das? |
Re: Panel auf Desktop platzieren
Machs doch wie ein richtiges PopupMenu: Normalerweise poppts rechts unten auf.
Ist der Rand rechts im Weg, poppts nach links unten auf, ist zusätzlich der Rand unten im Weg, poppts nach links oben auf. Ist nur der untere Rand im Weg, poppts nach rechts oben auf ;) |
Re: Panel auf Desktop platzieren
Hi,
du könntest das Panel dynamisch erstellen und als Parent versuchen den Screen anzugeben. Im Zweifelsfall direkt auf die API-Funktion ( ![]() Chris |
Re: Panel auf Desktop platzieren
Liste der Anhänge anzeigen (Anzahl: 1)
@Ultimator: Das ist in meinem Fall nicht so schön. Moment, ich häng schnell nen Screenshot an.
@Chakotay: Ich bin noch ein Anfänger in WinAPI, wie genau meinst du das? |
Re: Panel auf Desktop platzieren
Hi,
Wie wäre es einfach mit einem Form "stay on top" und ohne Bordericons etc ... ? grüsse, hannes |
Re: Panel auf Desktop platzieren
Du könntest das ganze doch auf eine extra Form setzen und diese dann an Fensterposition sichtbar und nach vorne bringen lassen.
Diese lässt sich definitiv auch über dem Desktop erstellen ;) Borderstyle natürlich auf bsnone und dann ist der Unterschied auch nicht weiter auffällig. Edit: Hmm.. Der übliche "Redbox-Bug" der DP :( |
Re: Panel auf Desktop platzieren
Es gibt Tooltip-Komponenten, die eingeschränktes HTML verstehen. Eventuell wäre das eine Alternative zu deinem Panel.
|
Re: Panel auf Desktop platzieren
@hannes & Jarmen_Kell: Dann ist allerdings gleichzeitig die Hauptform nicht mehr aktiv... Aber das wäre schonmal eine Methode.
@Luckie: Gute Idee. Kannst du mir nen Link geben? EDIT: Es gibt da nur ein Problem: Wenn das ganze von THintWindow abgeleitet ist, wird es nach einer gewissen Zeit automatisch ausgeblendet, ich will aber, dass es manuell ausgeblendet wird. EDIT2: Ich hab jetzt eine Möglichkeit gefunden (durch ausprobieren) die dem, was ich will, schon sehr nahe kommt:
Delphi-Quellcode:
Hey, das Ding erscheint doch tatsächlich auf dem Desktop! Problem ist nur: Es wird nicht vor, sondern hinter der Form angezeigt...
Windows.SetParent(pnlInfoBox.Handle, 0);
EDIT3: Oah mann, wie einfach. *klatsch* Ich setze das Panel einfach auf den Desktop und mach dann BringToFront; |
Re: Panel auf Desktop platzieren
Zitat:
|
Re: Panel auf Desktop platzieren
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 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