AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Panel auf Desktop platzieren

Ein Thema von 3_of_8 · begonnen am 31. Jul 2006 · letzter Beitrag vom 1. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:16
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?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:28
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
Julian J. Pracht
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:35
Hi,
du könntest das Panel dynamisch erstellen und als Parent versuchen den Screen anzugeben. Im Zweifelsfall direkt auf die API-Funktion (MSDN-Library durchsuchenCreateWindowEx) zurückgreifen und darüber das Panel erstellen (müsste dann wahrscheinlich ein Static mit veränderten Windowstyles sein).

Chris
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:38
@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?
Miniaturansicht angehängter Grafiken
screenshot4_643.jpg  
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#5

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:46
Hi,

Wie wäre es einfach mit einem Form "stay on top" und ohne Bordericons etc ... ?

grüsse,
hannes
- everything is possible -
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#6

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:48
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:53
Es gibt Tooltip-Komponenten, die eingeschränktes HTML verstehen. Eventuell wäre das eine Alternative zu deinem Panel.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Panel auf Desktop platzieren

  Alt 31. Jul 2006, 23:54
@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:

Windows.SetParent(pnlInfoBox.Handle, 0); Hey, das Ding erscheint doch tatsächlich auf dem Desktop! Problem ist nur: Es wird nicht vor, sondern hinter der Form angezeigt...

EDIT3: Oah mann, wie einfach. *klatsch* Ich setze das Panel einfach auf den Desktop und mach dann BringToFront;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Panel auf Desktop platzieren

  Alt 1. Aug 2006, 05:24
Zitat von 3_of_8:
@Luckie: Gute Idee. Kannst du mir nen Link geben?
Nein, habe ich nur irgendwann mal irgendwo gesehen. Aber Torry wäre bestimmt eine gute erste Anlaufstelle, wenn nicht sogar Google schon hilft.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Panel auf Desktop platzieren

  Alt 1. Aug 2006, 09:32
Vielleicht kannst du ja hieraus ein paar Ideen ziehen.

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz