System: Siehe Signatur
Bei meinem Beispiel funktioniert der Befehl SelectNext nicht korrekt ! Normal sollte der Befehl einen Tabulator weiterspringen, aber hier spring er immer aufs erste Control.
Das Panel vom Speedbutton bekommt irgendwie den Fokus dadurch springt er immer auf erste Edit. Nur zur Info ein SpeedButton hat keinen Focus bzw. tabstop.
Unter Lazarus 1.7.0 und FreePascalCompiler 3.0.0 hatte ich diesen Fehler nicht.
Anbei der Sourcecode.
Lost Focus Problem
Lost Focus Problem
- Dateianhänge
-
LostFocus.zip
- (6.27 MiB) 87-mal heruntergeladen
RasPi 3 - Raspbian - Lazarus 1.9.0 - FPC Version 3.0.2 - SVN-Revision 55971 - arm-Linux-gtk2
Re: Lost Focus Problem
In deinem Beispiel wird SpeedButton1Click gar nicht aufgerufen. Evtl. wolltest du sowas machen?!:
PS: Bitte keine Executable in Beispielprojekten mit posten. Das macht die Zips nur unnötig groß.
Code: Alles auswählen
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Caption := ActiveControl.Name;
SelectNext(ActiveControl, True, True); // <-- hier die Zeile einfügen
end;
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Lost Focus Problem
Sorry das war ein Schreibfehler von mir. Ich hatte da schon andere Sachen probiert.
Problem bleibt aber bestehen, weil wen man jetzt auf den speedbutton klickt bekommt das obere Panel den Focus! DAs Panel sollte gar keinen Focus bekommen.
Habs nochmal hochgeladen, siehe anhang
Problem bleibt aber bestehen, weil wen man jetzt auf den speedbutton klickt bekommt das obere Panel den Focus! DAs Panel sollte gar keinen Focus bekommen.
Habs nochmal hochgeladen, siehe anhang
- Dateianhänge
-
LostFocus.zip
- (126.45 KiB) 96-mal heruntergeladen
RasPi 3 - Raspbian - Lazarus 1.9.0 - FPC Version 3.0.2 - SVN-Revision 55971 - arm-Linux-gtk2
Re: Lost Focus Problem
IMHO ist das ein Bug. Ich habe ihn eben gemeldet: https://bugs.freepascal.org/view.php?id=32515
Eine mögliche Abhilfe ist dort als Patch beigefügt, allerdings kann ich die Nebenwirkungen nicht abschätzen. Daher soll der Autor darüber befinden.
Eine mögliche Abhilfe ist dort als Patch beigefügt, allerdings kann ich die Nebenwirkungen nicht abschätzen. Daher soll der Autor darüber befinden.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;