![]() |
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:
Mit folgenden Code wird der Editor fokussiert,
Application.ProcessMessages;
if NodeData.Tag=C_Tag_Customer then begin Edit_Filter.SetFocus; Application.ProcessMessages; end; 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:
KeyPreview ist aus.
Application.ProcessMessages;
if NodeData.Tag=C_Tag_Customer then begin PostMessage(Edit_Filter.Handle, WM_SETFOCUS, 0, 0); // SendMessage ebenso Application.ProcessMessages; end; 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 10:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz