Listbox1.ActiveCell.seltext=s funktioniert unter Linux nicht

Ich nutze in meinem Projekt BevelButtons mit Menü um Textbausteine in eine Tabelle einzufügen. Das funktioniert unter Mac OS ganz wie gewünscht. Unter Linux jedoch nicht.
Der wesentliche Code findet sich im Action-Event des BevelButtons und sieht so aus:

dim s as String
s=me.list(me.Menuvalue)
if CellActive=false then
MsgBox “Wo soll eingefügt werden? Bitte Cursor an die entsprechende Stelle setzen.”
else
Listbox1.ActiveCell.seltext=s
end

So, wie es für mich aussieht, wird die ListBox (und damit die ActiveCell) deaktiviert. Damit scheint dann auch der Zugriff auf eben diese, nicht mehr vorhandene, Zelle zu scheitern.
Ein Beispiel dazu findet sich hier:
http://www.familienbande-genealogie.de/Test/insert.zip

Hat jemand eine Idee, wie ich das umgehen kann?

Gruß, Stefan Mettenbrink.

PS: Unter Windows funktioniert es auch. Allerdings sehe ich dort, dass die Buttonbeschriftungen von Buttons (mit Menü) in zu kleiner Schrift dargestellt werden (das Tablet hat HiDPI). Zumindest ist die Beschiftung der PushButtons größer, obwohl im OpenEvent beider Buttons eine identische Schrift und Schriftgröße gesetzt wird.
Ist das ein bekanntes Problem?

Ich vermute, im CellLostFocus-Event löschst du die CellActive-Property wieder, oder?
Wahrscheinlich klaut unter Linux der Button den Focus. Wie wäre es, statt der CellActive Booleschen Property eine ActiveRow-integer-Property anzulegen, bzw. ActiveRow und ActiveColumn bei mehrspaltigen Tabellen. In diese im CellGotFocus-Event die eigenen Werte eintragen, und im CellLostFocus-Event nicht gleich wieder löschen (-1 setzen), sondern zeitverzögert z.B. mit einem Xojo.Core.Timer.Calllater-Aufruf.
Sollte der Button unter Linux den Focus erhalten, kann er schnell diese Werte auslesen, bevor sie gelöscht werden.

Was die Textgrößen angeht: Hast du ein Bild? Mir ist nur eine Diskussion über falsche Icongrößen in Bevelbuttons bekannt.

EDIT: Hab’s mal unter Windows ausprobiert. Die Größe des Texts entspricht so in ungefähr dem, was ich unter macOS sehe, wenn ich Pixel statt Points angebe. Es gibt auch ein FB dazu: <https://xojo.com/issue/47478>
Der dort stehende Tipp funktioniert: Einfach einmal in der IDE die Größe auf eine andere Einheit als Points stellen und zurück. Dann kommt der Text im Windows-Build in richtiger Größe raus.

EDIT 2: Oder im Open-Event TextUnit auf Points stellen.

Nein, CellLostFocus nutze ich nicht.

Ja, so scheint es mir unter Linux zu sein.

[quote]Wahrscheinlich klaut unter Linux der Button den Focus. Wie wre es, statt der CellActive Booleschen Property eine ActiveRow-integer-Property anzulegen, bzw. ActiveRow und ActiveColumn bei mehrspaltigen Tabellen. In diese im CellGotFocus-Event die eigenen Werte eintragen, und im CellLostFocus-Event nicht gleich wieder lschen (-1 setzen), sondern zeitverzgert z.B. mit einem Xojo.Core.Timer.Calllater-Aufruf.
Sollte der Button unter Linux den Focus erhalten, kann er schnell diese Werte auslesen, bevor sie gelscht werden.[/quote]
Eine hnliche berlegung hatte ich auch schon. Ich wollte mir die aktive Zelle merken, sowie .SelStart und .SelLength. Dann knnte ich diese Werte im Action-Event des Buttons nutzen.
Nur binn ich nicht sicher, ob ich von dort direkt EdtiCell ansprechen kann. Wird heute auch nichts mehr.

Habe ich soeben mal durchgefhrt.
Muss ich noch kompilieren und auf dem Tablet testen. Heute nicht mehr.

Danke fr die Tipps.

Gru, Stefan Mettenbrink.

Das hat schon mal funktioniert. Danke.

Ich habe im LostFocus-Event die erforderlichen Informationen gesichert und nutze sie im BevelButton um die Menütexte an die passende Stelle einzufügen.

Danke für die Unterstützung.