0

Android の Delphi Firemonkey TStringGrid に非常に奇妙な問題があります。TStringGrid のイベントは、Windows と Android プラットフォームで異なる方法でトリガーされるようです。例: Windows firemonkey アプリケーションでは、いくつかの列を持つ文字列グリッドがあります。TStringGrid は読み取り専用に設定されています。OnClick イベント 次のコードがあります。

TStringGrid(Sender).Cells[TStringGrid(Sender).ColumnIndex,TStringGrid(Sender).Selected] := 'result';

Android アプリケーションには、まったく同じコードの OnClick イベントがあります。

TStringGrid(Sender).Cells[TStringGrid(Sender).ColumnIndex, TStringGrid(Sender).Selected] := 'result';

Windows アプリケーションを実行して文字列グリッド セルをクリックすると、それが選択され、「結果」がセルに書き込まれます。

クリック前のウィンドウ

ここに画像の説明を入力

クリック後のウィンドウ

ここに画像の説明を入力

Androidアプリケーションを実行してクリック(タップ)すると、以前に選択したセルに「結果」が書き込まれ、その後クリックしたセルが選択されます。

クリック前のアンドロイド

ここに画像の説明を入力

クリック後のアンドロイド

ここに画像の説明を入力

これが Firemonkey のバグなのか、予想される動作なのかはわかりません。これを克服する方法はありますか?

4

2 に答える 2

1

TGrid はモバイルでサポートされているコントロールではないため、使用を避ける必要があります。おそらく最良の代替手段は、カスタム スタイルの TListBox です。

于 2014-04-12T16:58:40.087 に答える