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