![]() |
Form auf neuem Desktop
Hy!
Ich würde gerne einen neuen Desktop über Createdesktop erstellen und in diesen sofort meine derzeitige Form abbilden. Ist das möglich? Wenn ja, wie? MfG Telekab. |
Re: Form auf neuem Desktop
Google, dein treuer Freund und Helfer verweist sogar auf die DP ;-)
![]() ------- ![]() ![]() ![]() |
Re: Form auf neuem Desktop
Danke, aber deine Links helfen mir nicht wirklich.
Auf all die Sachen bin ich schon vorher gestoßen. Kann mir sonst einer erklären, wie das nun mit der Form funktioniert? |
Re: Form auf neuem Desktop
Ich bin mir relativ sicher, daß das mit echten Fenstern (was Forms einschließt) und echten Desktops nicht geht. Warum? Nunja, ein solches Objekt wie ein Fenster ist immer bei der "Geburt" mit dem Desktop (der ja Container für Fenster ist) assoziiert. Diese Assoziation kann zumindest auf dokumentiertem Wege nicht aufgehoben werden. Der korrekt Weg wäre also einen Thread deiner Anwendung mit dem Zieldesktop zu assoziieren und danach eine neue Instanz des Forms in diesem Thread zu erzeugen. Bei Vista kannst du, insofern es sich um einen Service handelt, aber noch auf andere Probleme stossen.
|
Re: Form auf neuem Desktop
Und wie bewerkstellige ich das mit den 'Threads?
Es muss auch nicht sien, dass es genau diese Form ist, ich könnte auch, wenns garnicht anders geht ein Programm öffnen, also erst zum neuen Desktop und dann erst das Programm, aber das öffnet sich auch auf dem alten. HIer gab es mal ien Bsp. mit einer Messagebox die sich auf dem neuen Desktop öffnen sollte. DAs hat z.B. auch bei mir nicht geklappt. Sie hat sich auf dem alten geöffnet. |
Re: Form auf neuem Desktop
Du benutzt echte Desktops? Also mit CreateDesktop? Dann kannst du mit SetThreadDesktop und SwitchDesktop arbeiten.
SwitchDesktop schaltet auf den erzeugten Desktop, SetThreadDesktop assoziiert einen Thread mit einem neuen Desktop. Aber Warnungen beachten. Zitat:
|
Re: Form auf neuem Desktop
Heißt die Warnung, dass das ganze nicht funktioniert, wenn ich irgend ein Programm auf dem alten Desk offen hab?
Und kann mir jemand sagen, was Threads sind? Ich weiß, dass Threadproceduren Proceduren sind, die parallel laufen, aber was hat das mit diesem Thema zu tun? Sorry, für die vielen Fragen. |
Re: Form auf neuem Desktop
Ooops, neue Frage neues Thema, bitte. Zu Threads solltest du dich am besten bei Luckies Win32-Tutorials und in anderen Quellen (PSDK, MSDN, DP, DF) schlaulesen. Ein Mindestmaß an Grundwissen sollten diejenigen die dir heir antworten nämlich voraussetzen können, wenn du eine solche Frage stellst ;)
Nein, es bedeutet nur, daß der aktuelle Thread keine Fensterobjekte besitzen darf. Keine Ahnung ob das besagt, daß du solche Objekte nur schließen mußt, oder ob der Thread auch nie welche besessen haben darf. |
Re: Form auf neuem Desktop
Wo finde ich denn Luckies Tutorial?
Und warum funktioniert der Quellcode von Luckie, der einen neuen Desk öffnet und dort eine Message anzeigen soll nicht? (öffnet Desktop, zeigt aber die Message auf dem alten an) MfG Telekab |
Re: Form auf neuem Desktop
Michaels Tutorial findest du
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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