AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit ActiveControl/Setfocus

Ein Thema von onkelmehli · begonnen am 19. Jun 2009 · letzter Beitrag vom 19. Jun 2009
Antwort Antwort
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#1

Problem mit ActiveControl/Setfocus

  Alt 19. Jun 2009, 14:25
Hallo,

ich habe auf einem MDI-Child ein DBGrid auf das der Fokus gesetzt ist. Wenn ich nun über einen Toolbutton (dieser kann keinen Fokus erhalten) oder über eine Tastenkombination(aus einer ActionList) ein neues Formular aufrufen will, in dem ich im OnActivate das ActiveControl = Edit1 setze, dann erhält das Edit1 leider nicht den Fokus.
Klick ich aber auf einen "normalen" Button(dieser erhält ja beim Klick erst einmal den Fokus), erhält das Edit1 in dem neu aufgerufenen Formular den Fokus.

Weiß jemand, wo die Ursache liegt? Gibts eine Möglichkeit, den Fokus des Grids zu "killen" bevor man das neue Formular aufruft?

Ich habe ein kleines Beispielprojekt angehangen, damit man das nachvollziehen kann. Habe hier mit ADO-Komponenten und Zugriff auf den SQL-Server 2005 Express gearbeitet, man kann natürlich eine andere DB verwenden.

Gruß
Matthias
Angehängte Dateien
Dateityp: zip mdi-setfocus_982.zip (7,7 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
GHorn

Registriert seit: 24. Mär 2009
Ort: NRW
124 Beiträge
 
#2

Re: Problem mit ActiveControl/Setfocus

  Alt 19. Jun 2009, 14:46
Edit1.SetFocus;

geht auch nicht? Ggf. im OnShow-Evebnt.

Gruß,
Gerald
  Mit Zitat antworten Zitat
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Problem mit ActiveControl/Setfocus

  Alt 19. Jun 2009, 14:55
Hallo Gerald,

mit SetFocus funktionierts leider auch nicht. Im OnShow auch probiert, leider ohne Erfolg.
Man könnte natürlich, wenn man den Toolbutton klickt, den Fokus erst auf ein anderes Control setzen, dann funktioniert es, nur ist das ja keine "saubere" Lösung, wer weiß, was das für Nebeneffekte auslöst.

Gruß
Matthias
  Mit Zitat antworten Zitat
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Problem mit ActiveControl/Setfocus

  Alt 19. Jun 2009, 15:53
ok ich habs erst einmal so gelöst, indem ich das ActiveControl auf nil setze und nach dem Anzeigen des Formulars wieder das Grid als ActiveControl einsetze:

Delphi-Quellcode:
  
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
  ActiveControl:= nil;
  TForm8.ShowForm8;
  ActiveControl:= DBGrid1;
end;
ist zwar meines Erachtens nicht die "schönste" Lösung, aber so funktioniert es erst einmal.
Bin dennoch für bessere Vorschläge und Lösungen dankbar!

Gruß
Matthias
  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 17:40 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