Navigieren in ListBox unter MacOS

Antworten
mark_h
Beiträge: 5
Registriert: Do 25. Mai 2017, 02:48

Navigieren in ListBox unter MacOS

Beitrag von mark_h »

Hallo zusammen,

habe eine peinlich simple Frage, die ihr mir bestimmt beantworten könnt.
Lazarus 1.6.4, FPC 3.0.2, OS X 10.11.

Formular mit einem TEdit und einer TListBox. TListBox wird mit beliebig vielen Einträgen gefüllt. Alles gut. Die ListBox besitzt keine Event-Handler.
Zur Laufzeit des Programms klicke ich mit der Maus in die ListBox, um einen Eintrag auszuwählen.
Ich möchte (so wie es üblich ist) mit den Pfeiltasten auf der Tastatur den Eintrag auswählen, also drücke die PfeilNachOben-/PfeilNachUnten-Taste.

Problem: Anstatt in der ListBox den vorherigen/nächsten Eintrag zu markieren, verliert die ListBox den Fokus und das Edit Control ist aktiv.

Why? Und wie bleibe ich bei der Navigation mit den Pfeiltasten in der ListBox?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Navigieren in ListBox unter MacOS

Beitrag von theo »

Ist wahrscheinlich zwischenzeitlich repariert:
https://bugs.freepascal.org/view.php?id=30558
https://svn.freepascal.org/cgi-bin/view ... ot=lazarus

In 1.6.4 ist der Fehler aber noch drin.
Du kannst den Release Candidate testen http://forum.lazarus.freepascal.org/ind ... 907.0.html
oder du installierst gleich trunk via svn: http://wiki.lazarus.freepascal.org/Getting_Lazarus/de

mark_h
Beiträge: 5
Registriert: Do 25. Mai 2017, 02:48

Re: Navigieren in ListBox unter MacOS

Beitrag von mark_h »

Hi theo,

vielen Dank für die schnelle Antwort!

Habe zwischenzeitlich die 1.8.0RC1 installiert. Bug ist aber noch drin.
Könnte es daran liegen, dass ich die 1.8.0RC1 einfach über die 1.6.4 installiert habe?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Navigieren in ListBox unter MacOS

Beitrag von theo »

Nö, sorry, der Fix hat es wohl nicht mehr in die 1.8 geschafft.
Man kann das hier nachschauen:
Hier die Aktuellste Entwicklerversion:
https://svn.freepascal.org/cgi-bin/view ... e&view=log
Hier die 1.8
https://svn.freepascal.org/cgi-bin/view ... e&view=log
Wie man sieht, ist 54592 neuer.

Entweder holst du dir Trunk via SVN (oben beschrieben) oder von hier: https://sourceforge.net/p/lazarus/code/HEAD/tree/trunk/

Oder du reparierst die lcl/include/customlistbox.inc deiner Version selber. Hier steht, was geändert wurde:
https://svn.freepascal.org/cgi-bin/view ... ot=lazarus

mark_h
Beiträge: 5
Registriert: Do 25. Mai 2017, 02:48

Re: Navigieren in ListBox unter MacOS

Beitrag von mark_h »

Habe die lcl/include/customlistbox.inc um folgendes ergänzt:

(...)
procedure TCustomListBox.WMGetDlgCode(var Message: TLMNoParams);
begin
inherited;
Message.Result := Message.Result or DLGC_WANTARROWS;
end;
(...)

Nun fehlt natürlich die entsprechende Deklaration in der lcl/stdctrls.pp. Da habe ich folgendes probiert:

(...)
private
procedure WMGetDlgCode(var Message: TLMNoParams); message LM_GETDLGCODE;
(...)

Bug ist immer noch da.
Unter https://sourceforge.net/p/lazarus/code/HEAD/tree/trunk/ ist der Fix offensichtlich auch noch nicht drin.

Was kann ich da machen? Irgendeine Idee?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Navigieren in ListBox unter MacOS

Beitrag von theo »

mark_h hat geschrieben:Unter https://sourceforge.net/p/lazarus/code/HEAD/tree/trunk/ ist der Fix offensichtlich auch noch nicht drin.


Ja, stimmt, das Zeug da ist alt.
Dann halt wie hier http://wiki.lazarus.freepascal.org/Getting_Lazarus/de

Aber: Die beiden Änderungen müssten eigentlich diesen Bug beheben.
Bist du sicher, das die LCL danach neu gebaut wurde?

Ich habe keinen Mac. Vielleicht kann dir jemand anders weiterhelfen.

mark_h
Beiträge: 5
Registriert: Do 25. Mai 2017, 02:48

Re: Navigieren in ListBox unter MacOS

Beitrag von mark_h »

Du, ich glaube, ich hab da noch ein ganz anderes Problem mit der IDE.
Wenn ich eine neue Anwendung mache, dann funktioniert der Bugfix nämlich.
Bei meiner eigentlichen App kann ich jetzt den Formular-Designer nicht mehr sehen :(

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Navigieren in ListBox unter MacOS

Beitrag von theo »

Keine Ahnung. Probier mal: Fenster -> Verschwundenes Fenster zentrieren -> Form1 (oder was immer).

mark_h
Beiträge: 5
Registriert: Do 25. Mai 2017, 02:48

Re: Navigieren in ListBox unter MacOS

Beitrag von mark_h »

Hey, jetzt funktioniert es!
Meine Projektdateien waren über die Wupper gegangen. Konnte sie wieder herstellen.

Danke für den hervorragenden Tipp mit dem Fix!

Dieser Bug kommt bei mir nur unter MacOS vor, Windows und Linux scheinen nicht betroffen zu sein.

Wünsche noch einen schönen Vatertag!

Antworten