Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DBGrid verliert focus (https://www.delphipraxis.net/170341-dbgrid-verliert-focus.html)

HolgerCW 12. Sep 2012 12:10

DBGrid verliert focus
 
Hallo zusammen,

an meinem DBGrid hängt eine DataSource. Dort nutze ich das Ereignis onDataChange um in einem anderen Fenster eine Datei anzuzeigen. Dadurch verliert das DBGrid aber den Focus.

Über folgende Funktion versuche ich nämlcihdie gerade focussierte DBGrid zu ermitteln:

Delphi-Quellcode:
function Focussierte_Komponente_ermitteln(Form:TForm):TQuery;
var
 I: Integer;
 DBGrid: TDBGrid;
begin

 Result := nil;

 For I := 0 to Form.ComponentCount - 1 do
 begin

  if Form.Components[I] is TDBGrid then
  begin

   DBGrid := TDBGrid(Form.FindComponent(Form.Components[I].Name));

   If (DBGrid.Focused) then
   begin

    Result := ((DBGrid.DataSource).DataSet as TQuery);

   end;

  end;

 end;

end;
Ich habe nun schon mit GotoBookmark versucht den Fokus wieder herzustellen. Schaffe das aber nur durch manuelles klicken mit der Maus auf die Zeile in der DBGrid.

Was mache ich falsch ?

Gruss

Holger

Uwe Raabe 12. Sep 2012 12:48

AW: DBGrid verliert focus
 
Der Focus eines Fensters hat ja nichts mit dem aktuellen Datensatz zu tun. Hier scheint mir eher das Problem in dem Code zu liegen, der im OnDataChange ausgeführt wird.

HolgerCW 12. Sep 2012 12:55

AW: DBGrid verliert focus
 
Hallo,

im onDataChange passiert nicht mehr als folgendes:

Delphi-Quellcode:
Form1.WB_Browser.Navigate('C:\test.pdf');
Komischerweise ist die Abfrage mit dem DBGrid.Focused danach nicht mehr möglich.

Warum ?


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