AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Always on top

Ein Thema von Savar · begonnen am 16. Jan 2005 · letzter Beitrag vom 11. Apr 2005
Antwort Antwort
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#1

Always on top

  Alt 16. Jan 2005, 16:07
Wie kann ich erreichen, dass eine Form immer im Vordergrund ist, selbst vor der Taskbar.

SetWindowPos(Form1.Handle, HWND_TOPMOST, ...

hab ich schon probiert, jedoch wenn ich die Windows-Taste drücke oder etwas in der TNA anklicke kommt die Taskbar wieder in den Vordergrund.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Always on top

  Alt 16. Jan 2005, 16:11
grund ist das mit drücken der Windowstaste die Taskbar genau das gleiche macht wie du in deinem Programm, sie bringt sich nach ganz vorn. Lösung wäre das du sändig prüfst ob dein programm ganz vorn ist und wenn dies nicht der Fall ist, bringst du es wieder nach vorn. (es liegt leider in der Natur der Sache das immer nur ein Fenster das oberste Fenster sein kann)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Always on top

  Alt 16. Jan 2005, 16:14
Das leuchtet ein. Wie kann ich ständig eine Prozedur im Hintergrund laufen lassen, die das überprüft.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Karlson

Registriert seit: 12. Apr 2004
92 Beiträge
 
#4

Re: Always on top

  Alt 16. Jan 2005, 16:30
z.B. indem du in einem TTimer Event folgendes überprüfst:

 if GetForeGroundWindow <> Handle then BringToFront;
  Mit Zitat antworten Zitat
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Always on top

  Alt 16. Jan 2005, 16:33
Timer ist eine gute Idee. Dank dir. Werd's gleich ausprobieren.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Always on top

  Alt 16. Jan 2005, 16:35
Wunderbar, es funktioniert. So macht man aus 20 Zeilen unnützem Code eine Zeile, die was bringt. Nochmals danke.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
FlinkerFinger

Registriert seit: 2. Jan 2005
41 Beiträge
 
#7

Re: Always on top

  Alt 11. Apr 2005, 11:15
Hallo , also ich habe jetzt schon fast alles ausprobiert was ich gefunden habe, jedoch immer wenn ich auf die Verknüpfung drücke, welche mir nur den desktop anzeigt, verschwindet es trotzdem immer wieder.Wie kann ich dem entgegenwirken ??

Ausprobiert habe ich folgendes in einer Timer Prozedur:

Delphi-Quellcode:
    SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
FormStyle := fsStayOnTop;
SetWindowPos(Hnd, HWND_TOPMOST, Self.Left, Self.Top, Self.Width, Self.Height, SWP_NOSIZE);//on top
if GetForeGroundWindow <> Handle then BringToFront;
  Mit Zitat antworten Zitat
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Always on top

  Alt 11. Apr 2005, 12:34
Ich glaub das hat was damit zu tun, dass alle Fenster minimiert werden, wenn du auf das Symbol klickst. Es hat also erst mal nichts mit Always on top zu tun. Du kannst vielleicht in deinen Timer noch eine Prozedur einbauen, die dein Fenster wiederherstellt sobald es minimiert wird.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
FlinkerFinger

Registriert seit: 2. Jan 2005
41 Beiträge
 
#9

Re: Always on top

  Alt 11. Apr 2005, 12:36
Hmm ne ich habe nix veraendert und nur noch die zeile

SetWindowPos(Handle, HWND_TOPMOST, Self.Left, Self.Top, Self.Width, Self.Height, SWP_NOSIZE); drin und es geht jetzt wunderbar =D auch delphi macht mal fehler so wie mir scheint.
  Mit Zitat antworten Zitat
Savar

Registriert seit: 30. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Always on top

  Alt 11. Apr 2005, 13:05
Zitat von FlinkerFinger:
Hmm ne ich habe nix veraendert und nur noch die zeile

SetWindowPos(Handle, HWND_TOPMOST, Self.Left, Self.Top, Self.Width, Self.Height, SWP_NOSIZE); drin und es geht jetzt wunderbar =D auch delphi macht mal fehler so wie mir scheint.
Ich nehm an das NOSIZE verhindert das minimieren.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:25 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