Delphi-PRAXiS

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/)
-   -   Fehler: "Deaktiviertes Fenster kann den Fokus nicht erhalten (https://www.delphipraxis.net/118586-fehler-deaktiviertes-fenster-kann-den-fokus-nicht-erhalten.html)

gfjs 11. Aug 2008 07:26


Fehler: "Deaktiviertes Fenster kann den Fokus nicht erh
 
Guten Morgen.

Ich habe für ein Formular ein Edit als ActiveControl. Ich möchte aber, wenn das Formular vom Anwender geschlossen und dann wieder geöffnet wird, dieses Edit den Focus hat. Mit SetFocus in FormShow erhalte ich aber die o.a. Fehlermeldung. Ich habe schon einiges probiert, habe aber das Problem nicht lösen können.

Meine Frage: Woin muss Edit1.SetFocus, damit das Problem nicht mehr auftritt?

Wie immer vielen Dank für Eure Hilfe.

Gruß Jürgen

taaktaak 11. Aug 2008 07:40

Re: Fehler: "Deaktiviertes Fenster kann den Fokus nicht
 
Moin, Moin.
Eigentlich ist OnShow schon richtig und es sollte so funktionieren. Wird das Form dynamisch erzeugt?

Blackheart 11. Aug 2008 07:48

Re: Fehler: "Deaktiviertes Fenster kann den Fokus nicht
 
Setze die Tabulatorreihenfolge entsprechend dann sollte das Edit automatisch den Focus erhalten.

gfjs 11. Aug 2008 08:27

Re: Fehler: "Deaktiviertes Fenster kann den Fokus nicht
 
@ taaktaak

Das Formular wird nicht dynamisch erzeugt. Wenn ich die Zeile Edit1.SetFocus deaktiviere läuft es problemlos - aber der Focus bleibt da, wo er beim Schließen war.

@ Blakcheart

Danke für den Tipp - probiere ich schnellstmöglich aus.

marabu 11. Aug 2008 08:52

Re: Fehler: "Deaktiviertes Fenster kann den Fokus nicht
 
Moin Jürgen,

bei einer modalen Form, die während ihrer Lebensdauer mehrfach angezeigt wird, kannst du dein im Object Inspector vorgegebenes ActiveControl so durchsetzen:

Delphi-Quellcode:
interface

type
  TTestForm = class(TForm)
    // ...
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FocusedControl: TWinControl;
  end;

implementation

procedure TTestForm.FormCreate(Sender: TObject);
begin
  FocusedControl := ActiveControl;
end;

procedure TTestForm.FormShow(Sender: TObject);
begin
  ActiveControl := FocusedControl;
end;
Freundliche Grüße

gfjs 11. Aug 2008 09:57

Re: Fehler: "Deaktiviertes Fenster kann den Fokus nicht
 
@ marabu

Vielen Dank! - Werde ich so schnell wie möglich ausprobieren!

Gruß Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 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