AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Fenster ausblenden und Fokus abgeben / verlieren

Fenster ausblenden und Fokus abgeben / verlieren

Ein Thema von Schwedenbitter · begonnen am 22. Jul 2011 · letzter Beitrag vom 22. Jul 2011
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Fenster ausblenden und Fokus abgeben / verlieren

  Alt 22. Jul 2011, 13:59
Vermutlich habe ich mich missverständlich ausgedrückt. Ich habe eine Anwendung, die mehr oder weniger im Hintergrund läuft; ein Chat um genau zu sein. Per Hotkey wird das MainForm sichtbar gemacht und das Programm erhält einen Eintrag in der Taskleiste. Der Benutzer tippt nun seine Nachricht ein und quittiert mit OK.

Jetzt wird das Fenster etwas verzögert wieder ausgefadet (<- blödes Wort) und dann inkl. Taskleisteneintrag versteckt. Während des Ausfadens ist es aber nicht vor weiteren Eingaben des Benutzers geschützt und/oder der Benutzer möchte bereits ohne weitere Klicks mit etwas anderem arbeiten. Wir haben hier ein Büro, in dem die Tastatur berufsbedingt deutlich mehr als die Maus bedient wird...

Anders herum gefragt:
Wie ermittle ich, wer den Focus hatte, bevor ihn mein Programm erhält. Dann könnte ich mir doch das merken und den wieder zurückgeben. Oder ist das zu einfach gedacht?
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Fenster ausblenden und Fokus abgeben / verlieren

  Alt 22. Jul 2011, 14:23
Das geht doch in die Richtung getWindow

EDIT: Oder enumWindows und du aktivierst das erste Fenster, das nicht zu deiner Anwendung gehört.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.

Geändert von BUG (22. Jul 2011 um 14:26 Uhr)
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Fenster ausblenden und Fokus abgeben / verlieren

  Alt 22. Jul 2011, 15:26
Danke für Eure Tipps!

Ich bin bei der Forensuche jetzt hierauf gestoßen. Insbesondere der Hinweis von himitsu hat mir geholfen.

Ich mache es jetzt so, dass ich vor dem Öffnen meines Fensters mit GetForegroundWindow das aktuell im Fokus befindliche Fenster ermittle. Dann werfe ich einen TTimer an, mit dem ich diesen Wert aktuell halte ( <> self.Handle). Gleich zu Beginn des Ausfadens gebe ich dann den Fokus zurück, was hoffentlich mit SetForegroundWindow geht. Mein Fenster hat damit nicht mehr den Focus.
Ich hatte bloß gedacht/gehofft, es würde einfacher gehen...

Das sollte mein Problem lösen. Ich bin mal so frech und melde mich zurück, falls es nicht klappt. Im Grunde hätte ich gleich selbst drauf kommen können. Aber manchmal hat man ein Brett vor dem Kopft. Bloß gut, dass es gibt.
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz