Delphi-PRAXiS
Seite 1 von 2  1 2      

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 BringToFront Problem - Program in der Taskleiste blinkt nur (https://www.delphipraxis.net/90088-bringtofront-problem-program-der-taskleiste-blinkt-nur.html)

Piro 11. Apr 2007 12:33


BringToFront Problem - Program in der Taskleiste blinkt nur
 
Hi,

mit folgendem Code habe ich verwendet um mein Programm in den Vordergrund zu bringen, egal ob versteckt hinter anderen Windowsfenstern oder minimiert. Alle 10 Sekunden wird kontrolliert, ob es im Vordergrund ist (Timer).
Delphi-Quellcode:
 Application.Restore;
 Application.BringToFront;
 frm_main.BringToFront;
Nur wenn das Fenster minimiert war, kamm es in den Vordergrund. War es aber hinter anderen Fenstern versteckt, blinke nur der Taskleisteneintrag und nichts weiter passierte.

Erst nachdem ich unten stehenden Code eingefügt habe, hat es funktioniert.
Delphi-Quellcode:
 frm_main.FormStyle := fsStayOnTop; // Damit es absolute in den Vordergrund kommt und nicht nur in der Taskleiste blinkt
 frm_main.FormStyle := fsNormal;
Kann mir einer Erklären warum? Ein Nachteil hat es aber noch. Der Taskleisteneintrag blinkt.

Vielen Dank im Voraus.

Sven

hoika 11. Apr 2007 12:51

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Hallo,

nimm BringWindowToTop(MainForm.Handle)
(unit Windows)


Heiko

Piro 11. Apr 2007 13:30

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Sorry gleicher Effekt (Blinken in der Taskleiste).

Mein verwendeter Code mit deinem zusammen:
Delphi-Quellcode:
 Application.Restore;
 Application.BringToFront;
 frm_main.BringToFront;
 BringWindowToTop(frm_main.Handle); // Hatte auch BringWindowToTop(Application.MainFormHandle) und BringWindowToTop(Application.MainForm.Handle) probiert

???

toms 11. Apr 2007 15:04

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Hallo

Suche in Google mal nach Bei Google suchenForceForegroundWindow

uwewo 11. Apr 2007 15:15

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Hi Sven,

teste mal

Delphi-Quellcode:
if GetForeGroundWindow() <> Form1.Handle then

Piro 12. Apr 2007 07:35

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Folgendes habe ich probiert:
Delphi-Quellcode:
 if GetForeGroundWindow() <> frm_main.Handle then
   ShowMessage('GetForeGroundWindow() <> frm_main.Handle') // Tritt auf wenn das Fenster versteckt (=inaktiv) ist und es nur blinkt in der Taskleiste
 else
   ShowMessage('GetForeGroundWindow() = frm_main.Handle') // Tritt auf das Fenster zu sehen ist und aktiv
 end;

uwewo 12. Apr 2007 08:43

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Zitat:

Zitat von daywalker299
Folgendes habe ich probiert:

und was ist nun das Ergebnis????

Piro 12. Apr 2007 10:18

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Meine MainForm kommt nicht in den Vordergrund. Nur wenn es minimiert ist. Was mich auch nicht ganz klar ist, was ich damit anfangen soll., d.h. was ich genau in die Abfrage hinein schreiben soll. Sorry.

toms 12. Apr 2007 11:00

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Hast du ForceForegroundWindow probiert??

Piro 12. Apr 2007 12:46

Re: BringToFront Problem - Program in der Taskleiste blinkt
 
Nein leider noch nicht. Kann ich erst heute Abend probieren. Mal sehen was da raus kommt. Vielen Dank erstmal und ich melde mich heute Abend denn.

Gruß, Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr.
Seite 1 von 2  1 2      

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