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/)
-   -   Delphi TTreeView.OnChange - Edit.SetFocus wird nicht ausgeführt (https://www.delphipraxis.net/144196-ttreeview-onchange-edit-setfocus-wird-nicht-ausgefuehrt.html)

hoika 2. Dez 2009 10:15


TTreeView.OnChange - Edit.SetFocus wird nicht ausgeführt
 
Hallo #,

ich komme nicht weiter ;(

Ich habe einen normalen TTreeView.
Im OnChange wird je nach Knoten unterhalb des Tree ein Edit eingeblendet
(Visible:= True).
edit und TreeView liegen auf getrennten Panels.

Der Edit soll danach den Focus haben, hat er aber nicht !!!

Der folgende Code geht gar nicht,
Focus wird nicht gesetzt.
Delphi-Quellcode:
  Application.ProcessMessages;

  if NodeData.Tag=C_Tag_Customer then
  begin
    Edit_Filter.SetFocus;
    Application.ProcessMessages;
  end;
Mit folgenden Code wird der Editor fokussiert,
ich kann aber nichts eingeben, jeglicher Tastendruck wird ignoriert,
erst wenn ich per Maus was aus der Zwischenablage hole,
geht es komischerweise wieder.

Delphi-Quellcode:
  Application.ProcessMessages;

  if NodeData.Tag=C_Tag_Customer then
  begin
    PostMessage(Edit_Filter.Handle, WM_SETFOCUS, 0, 0);
   // SendMessage ebenso
    Application.ProcessMessages;
  end;
KeyPreview ist aus.

Was ist hier los *grummel*


#Update:#
Es sieht so aus, als ob der TreeView immer noch den Focus hat
(Pos1-Taste nimmt der dem Editor weg".


#Update2:#
Meine Lösung ist finster, geht aber ;)
Ich habe einen Timer (Intervall 300) genommen,
der setzt den Focus und "beendet" sich danach wieder (Enabled:= False)




Heiko


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