Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit setWindowPos (Fenster in den Vordergrund bringen (https://www.delphipraxis.net/85119-problem-mit-setwindowpos-fenster-den-vordergrund-bringen.html)

kingflo 26. Jan 2007 09:12


Problem mit setWindowPos (Fenster in den Vordergrund bringen
 
Hallo...
ich habe nen echt doofes Problem, und zwar habe ich eine chat Anwendung, bei der beliebig viele chat fenster erstellt werden können usw... jetzt will ich, dass wenn der User ne Nachricht bekommt, dass das Chatfenster dafür auch in den Vordergrund kommt. Wenn es noch nicht erstellt wurde, bzw unsichtbar ist, dann reicht ein show, wenn das fenster aber schon da ist, es sich aber z.B hinter dem explorer oder nem anderem Programm befindet, ist es nicht so einfach es in den Vordergrund zu holen.

Ich habe dafür dann
Delphi-Quellcode:
SetWindowPos(chatForm.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
jetzt habe ich aber das problem, dass sich andere Fenster (und MessageBoxen), die z.B auch Modal angezeigt werden sich hinter dem Chatfenster befinden, da dann aber das Fenster hinter dem Chatfenster Modal ist, habe ich bzw der User dass Problem, dass man nichts mehr machen kann. (ich hoffe das Problem wurde verstanden, ist irgendwie blöd beschrieben)

Weiß jemand was ich da machen kann, damit das chatfenster trotzdem bei einer Nachricht in den Vordergrund kommt, aber danach nicht über jedem (vorallem nicht den Modalen) Fenster steht?

Luckie 26. Jan 2007 09:34

Re: Problem mit setWindowPos (Fenster in den Vordergrund bri
 
Na ja du nagelst dein Fenster ja auch im Fordergund fest und da wunderst du dich, dass alle anderen Fenster nicht mehr unter deinem Fenster hervorkommen?

Wie sieht es denn mit HWND_TOP aus oder mit Hier im Forum suchenBringToFront oder Hier im Forum suchenSetForegroundWindow?

Lun 26. Jan 2007 09:46

Re: Problem mit setWindowPos (Fenster in den Vordergrund bri
 
Hi Flow,

ich hab das mal mit bringToFront gemacht das hat bei mir gut funktioniert. Aber vielleicht würde ich
das vom Konzept her so nicht machen. Wenn ich im Chat was schreibe und mich gerade mit Flow über irgendwas
wichtiges unterhalte, würde es mich nur nerven wenn dann so ein blödes Fenster aufpoppt weil mich gerade
jemand an chattet ob ich nach BK fahren will.

Ich würde unten in der Taskleiste ein minimiertes Fenster aufblinken lassen wie man es von anderen Chat - Programmen
her kennt. Aber das liegt bei dir wie du das haben willst.

greetz Lun

kingflo 26. Jan 2007 10:15

Re: Problem mit setWindowPos (Fenster in den Vordergrund bri
 
Mit BringToFront geht es nur, wenn das Fenster noch nicht sichtbar ist. Und SetForegroundWindow bringt auch nichts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 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