AGB  ·  Datenschutz  ·  Impressum  







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

Form in den Vordergrund holen

Ein Thema von Ghostleader · begonnen am 6. Jan 2010 · letzter Beitrag vom 9. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#1

Form in den Vordergrund holen

  Alt 6. Jan 2010, 12:07
Hier wurde die Frage gestellt
Ich habe dafür einen neuen Thread aufgemacht, da sie eigentlich nicht mehr in den alten gehörte.
Meine Frage ist: Wie kann man die Form in den Vordergrund holen (ohne Form1.Show; zu verwenden...)?

Mit Form1.BringToFront; wird sie vielleicht in den Vordergrund geholt aber noch nicht für mich ausreichen, da sie nicht vor Firefox etc. geschoben wird...

Mfg Ghost
Michael
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Form in den Vordergrund holen

  Alt 6. Jan 2010, 12:10
Hi,

evtl. hilft dir SetForeGroundWindow weiter.

mfg
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Form in den Vordergrund holen

  Alt 6. Jan 2010, 12:18
Also da ich nicht wusste was du damit meinst habe ich danach gesucht und hab etwas ähnliches gefunden:
 SetWindowPos(Handle, HWND_TOPMOST, 0, 0, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); Das klappt auch soweit nur einige meiner Keybefehle dafür nicht mehr...
zB.:
Delphi-Quellcode:
if Key = vk_f4 and ssAlt in Shift then
begin
Key:= 0;
Form1.Show;
end;
Hat da jemand ne Ahnung?
Michael
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Form in den Vordergrund holen

  Alt 6. Jan 2010, 12:19
Möchtest du dass die Form dauerhaft im Vordergrund bleibt oder nur bei einem bestimmten Ereigniss? Das immer im Vordergrund geht so. Beim OnCreate oder so aufrufen:
Delphi-Quellcode:
Application.NormalizeAllTopMosts;
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
Edit: Zu spät!
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Form in den Vordergrund holen

  Alt 6. Jan 2010, 12:20
Naja solange das dauerhafte "im Vordergrund sein" nicht meine anderen Befehle blockiert, ist mir das schon Recht .
Aber man könnte ja auch, wenn die Form nicht dauerhaft im Vordergrund ist, den Befehl in einen Timer setzen, oder?

Edit:
Vielleicht muss ich grundsätzlich erst nochmal hinzufügen:
Ich arbeite mit 2 Formen. Die eine besitzt nur eine TImage Komponente und den Befehl (beim KeyDown-Ereignis)
Delphi-Quellcode:
if Key = vk_f4 and ssAlt in Shift then
begin
Key:= 0;
end;
Die andere Form soll immer aktiviert sein denn sie besitzt die Befehle:
Delphi-Quellcode:
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key = vk_f4) and (ssAlt in shift) then
begin
Key := 0;
end;
if (Key = vk_f5) and (ssAlt in shift) then
begin
Form1.Hide;
end;
if (Key = vk_f3) and (ssAlt in shift) then
begin
Key := 0;
Form1.Show;
end;
end;
Also Form 1 ist eigentlich nur ein Bild, Form 2 soll dieses auf Tastendruck hervorheben oder verschwinden lassen.
Nur wenn ich das Projekt starte klappt das alles nicht mehr wenn ich ein anderes Programm maximiere o.ä.
Deshalb such ich einen Befehl um Form2 so in den Vordergrund zu bringen (per Timer o.ä.) das die Befehle auch noch funktionieren wenn ich
ein anderes Programm starte...
Michael
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Form in den Vordergrund holen

  Alt 7. Jan 2010, 15:05
Hat niemand eine Idee wie ich das machen kann?
Michael
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Form in den Vordergrund holen

  Alt 8. Jan 2010, 20:51
Ich denke das Thema kann geschlossen werden wenn keiner antwortet oder keiner eine Antwort weiß...
Mfg Ghost
Michael
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

Re: Form in den Vordergrund holen

  Alt 8. Jan 2010, 20:55
Zitat von Ghostleader:
.
Deshalb such ich einen Befehl um Form2 so in den Vordergrund zu bringen (per Timer o.ä.) das die Befehle auch noch funktionieren wenn ich
ein anderes Programm starte...
Du könntest ja einen globalen Hotkey registrieren
Thomas
  Mit Zitat antworten Zitat
Ghostleader

Registriert seit: 22. Aug 2009
Ort: Hilden
116 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Form in den Vordergrund holen

  Alt 8. Jan 2010, 22:15
Wie meinst du das? Bei KeyDown hab ich schon Hotkeys definiert. Meinst du das - oder etwas anderes?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#10

Re: Form in den Vordergrund holen

  Alt 9. Jan 2010, 09:07
Du möchtest doch, dass F3 etc auch dann reagieren, wenn deine Form nicht den Fokus hat?
Dann such mal nach Bei Google suchenglobaler Hotkey Delphi
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:35 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