AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fenster aktivieren ohne es anzuklicken...
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster aktivieren ohne es anzuklicken...

Ein Thema von bingo72 · begonnen am 15. Jan 2008 · letzter Beitrag vom 16. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#1

Fenster aktivieren ohne es anzuklicken...

  Alt 15. Jan 2008, 11:43
Hallo Leute!!

In meiner Applikation hab ich ein Anmeldefenster, wo man einmalig nach der Installation die Seriennummer eingeben muß - Standard!!
Der Cursor steht im ersten Edit-Feld und blinkt sobald das Anmeldefenster erscheint (code-intern wurde Focus auf das Fenster gesetzt) und wartet brav auf Eingaben.
So funktioniert es tadellos seit Win 95(!!) ohne Probleme und am Code wurde in diesem Bereich auch nie etwas geändert.

So nun zum Problem: Unter Vista steht zwar der Cursor blinkend auch im ersten Feld, aber Eingaben sind nicht mehr möglich...
Erst wenn man mit der Maus das Fenster explizit anklickt, kann man Werte wieder eingeben....wie das??

Meines Verständnisses nach, hat doch ein Fenster den Focus wenn der Cursor im Eingabefeld blinkt oder nicht??

Hatte wer mal so einen Fall??

LG
Thomas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 11:46
Das Fenster vielleicht, aber das Eingabefeld vielleicht nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#3

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 12:02
Muß mich korregieren, der gleiche Effekt ist auch unter XP!! Ist also nicht Vista-spezifisch...
Auffällig ist auch, daß in der Taskleiste, der Task nicht 'eingedrückt' bzw. aktiv ist. Dies wird der Task erst dann, wenn man das Fenster angeklickt hat!!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 12:31
Quellcode? XP/Vista-Theming aktiv?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 12:39
Zitat:
... code-intern wurde Focus auf das Fenster gesetzt ...
Für solche Dinge wie du es gern hättest würde ich den Focus auf das EditFeld
setzen und nicht auf das Fenster.

Aslo:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  EditSoundSo.SetFocus;
end;
Zusätzlich sollte man sich auch mal die Taboder der Form ansehen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#6

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 12:45
Ich hab den Focus auf das Edit-Feld gesetzt...geht genauso wenig!!
Wie gesagt macht mir eher der Umstand Sorgen, daß in der Taskleiste der Task nicht 'eingedrückt' ist und ich versteh nicht warum??

Als erstes wird ein Setup-Programm gestartet und aus diesem heraus meine Applikation gestartet mit

Delphi-Quellcode:
ShellExecute(0,
                         'open',
                         PChar(lExePath),
                         '',
                         PChar(lPath),
                         SW_SHOWNORMAL);
Während das Setup-Programm läuft ist der Setup-Task in der Leiste 'eingedrückt', nach dem Start der Applikation ist der Task der Applikation aber nicht mehr 'eingedrückt'...????
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 12:56
Es gibt seit Windows 2000 die (per Standard aktivierte) Option, dass sich aktive Anwendungen den Focus nicht "stehlen" lassen, wenn eine Hintergrundanwendung ein Dialogfeld öffnet. Ist eigentlich auch recht sinnvoll, damit man nicht, wenn man in Word einen Text schreibt, versehentlich irgendwelche Dialogfelder bestätigt.

Dein Problem hat sicher etwas damit zu tun.
Daniel Schuhmann
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 13:03
Ich glaube auch, dass das daher rührt, dass man der Vordergrundanwendung nicht mehr den Fokus stehlen können soll. Manchmal nervt das zwar, zum Beispiel wenn ein modales Fenster irgendwo im Hintergrund bleibt, aber so ist das eben. Kannst du nicht damit leben, dass die Benutzer gegebenenfalls selbst einmal das Fenster aktivieren müssen? Oder geht dein Problem mehr in die Richtung, dass das Fenster aktiv aussieht, weil der Cursor blinkt? Ist denn ein anderer Task "eingedrückt"? Welche Anwendung hat den Fokus, wenn deine gestartet wird?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#9

Re: Focusproblem unter Vista...

  Alt 15. Jan 2008, 13:32
Ich könnte damit leben, aber mein Chef nicht!! )

Da ich die Install-Exe aus einem Ordner aufrufe ist zunächst der Task des Ordners 'eingedrückt'!! Der Task des Installationsprogrammes ist 'eingedrückt' während der Installation...

Nach der Installation wird das eigentliche Programm gestartet und das Installationsprogramm geschlossen. (Vielleicht macht dies Probleme??)
Als erstes wird dann das Fenster mit der Seriennummer angezeigt und der Task des Hauptprogrammes ist nicht 'eingedrückt' sondern dafür wieder der Task des Ordners aus dem ich zu Beginn die Installation aufgerufen habe...

Ich hoffe man kann sich den Ablauf nun einigermassen vorstellen..

Ich habe im FMAfterShow folgendes stehen - leider auch ohne gewünschten Erfolg:
Delphi-Quellcode:
(* Explizit Focus setzen *)
  if self.CanFocus then begin
    self.SetFocus;
  end;
  Application.BringToFront;
Durch Application.BringToFront wird zwar der Task in der Leiste dunkelblau ist aber nachwievor nicht 'eingedrückt'...

LG
Thomas
  Mit Zitat antworten Zitat
bingo72

Registriert seit: 18. Aug 2006
Ort: Österreich
180 Beiträge
 
Delphi 5 Professional
 
#10

Re: Fenster bekommt einfach nicht den Focus...

  Alt 15. Jan 2008, 14:30
Was ich in der Zwischenzeit auch noch rausfand:

Der Effekt tritt nur unmittelbar nach der Installation auf!!! (...also nach Aufruf mittels ShellExecute...)
Startet man das Programm über den Shortcut, bekommt das Hauptprogramm sofort den Focus und in der Taskleiste ist der Task 'eingedrückt'!!
  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 15:59 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