Fenster immer im Hintergrund
-
Hallo,
ich möchte das mein Fenster immer im Hintergrund bleibt, und das es auch beim Anklicken einer Komponente nicht in den Vordergrund gehohlt wird.
Hat dafür jemand eine Lösung ?
Danke
Pronto451
-
Hallo,
also ich habe es schon hiermit probiert,
void __fastcall TForm1::FormPaint(TObject *Sender) { SetWindowPos(Application->Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); }aber dadurch wird des Fenster immer erst in den Vordergrund gehohlt um dann wieder in den Hintergrund gesetzt zu werden. Das hat einen unschönen Flackereffekt zur Folge.
Pronto451
-
vielleicht könntest du kurz erörtern was genau das ziel ist, vielleicht kann man ja die anordnung etwas ändern.
das fenster im hintergund könnte zuerst starten und dann mit showmodal die obenliegenden fenster öffnen, das hätte in etwa den gewünschten effekt, ich weis aber nicht ob es für dich so umsetzbar ist...
-
Hallo,
also so einfach ist es nicht

Ich möchte ein Fenster direkt auf dem Desktop haben, das immer im Hintergrund bleibt, auch wenn man auf einen Button des Fensters klickt.
Ich habe auch schon einen ersten Ansatz zu solch einem Desktopwindow in der Zwischenzeit gefunden:
void __fastcall TForm1::CLButton1Click(TObject *Sender) { NewWindow = new TForm([b]GetDesktopWindow()[/b]); // Größe und Position des Fensters setzen NewWindow->Left = 200; NewWindow->Top = 200; NewWindow->Width = 1024; NewWindow->Height = 768; NewButton = new TCLButton(NewWindow); NewButton->Parent = NewWindow; NewButton->Left = 200; NewButton->Top = 200; NewButton->Width = 100; NewButton->Height = 30; NewButton->Caption = "Hallo"; NewButton->Visible = true; NewWindow->Visible = true; }Das funktioniert aber nur wenn ich das Fenster zur Laufzeit erzeuge, außerdem reagiert es sehr langsam, wenn ich es verschiebe. Es wird z.B. der Inhalt beim Verschieben des Fenstern nicht gezeichnet. Also es wird erst dann gezeichnet, wenn ich die Maus wieder los lasse.
Pronto451
-
Ich hätte das Formular ganz normal erzeugt und bei allen Fenstern, die nicht dahinter gehen sollen, FormStyle auf fsStayOnTop gestellt.
-
ich glaub ich hab verstanden was er meint, er will sich eine art bildschirmnhintergrund bauen, mit schaltflächen und so n zeug, ich hatte auch mal ne idee für mein vater nen aktiven kalender als hintergrund zu bauen, bin dann doch zu einer normalen anwendung übergegangen, da ihm das auch so gereicht hat ^^
wenn ich falsch liege, sorry XD aber kannst ja mal die ganze idee präsentieren wenn dich keine sonderverpflichtungen hindern ^^
-
Ceos schrieb:
ich glaub ich hab verstanden was er meint, er will sich eine art bildschirmnhintergrund bauen, mit schaltflächen und so n zeug
Dann wäre eine bessere Lösung vermutlich der Active Desktop...
-
Hallo Ceos,
genau das. Ich möchte das Hintergrundbild des Desktop durch ein Programm ersetzen, das Termine, Kalender usw. anzeigt. Es soll dabei aber die komplette Funktionalität solcher Programme haben, also z.B. direktes Editieren der Termine. Aber das ist nur ein kleiner Teil des Gesamtprojekts.
Also der Sourcecode oben funktioniert schon fürs erst ganz gut, das Verschieben des Fensters ist auch eher unwichtig.
Pronto451
-
uffa .... da muss ich die die waffen strecken, also immer im hintergrund wäre machbar gewesen, aber auch hinter den symbolen ... ne!
audacia hats schon gesagt versuchs mit active desktop, hab mich aber noch nciht so aktiv damit beschäftigt, kann sein das wenn du was mit php schreibst nen lokalen webserver mit phpfähigkeit einrichten musst .... oder wenn es geht nimm javascript .... was sag ich da nur, das ist wie "hölle oder fegefeuer" leistungsverschwedung oder selfhacking XD