我有一个非常奇怪的问题,德尔福火猴子TStringGrid上的安卓。看起来,TStringGrid上的事件在windows和安卓平台上被不同的触发。例如:在WindowsFire猴子应用程序中,我有一个包含几个列的字符串网格。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应用程序并单击string网格单元格时,它将被选中,然后在单元格中写入“结果”。
单击前的窗口

点击后的窗口

当我运行android应用程序并单击(点击)时,会发生的情况是,“结果”是在先前选定的单元格中编写的,在该单元格之后,单击“被选中”。
点击之前的android

点击后的android

我不确定这是火猴的错误还是预期的行为。有什么办法可以克服这个问题吗?
发布于 2014-04-12 16:58:40
TGrid是一个不受支持的移动控件,所以您应该避免使用它。最好的选择可能是具有自定义样式的TListBox。
发布于 2014-04-10 09:02:29
这可能是一个线程问题。但我不太确定你是不是在使用最好的事件处理程序。如果您试图更新正在选择的单元格,那么我会建议您处理TStringGrid.OnSelChanged事件。此事件是在更改单元格选择后触发的。
不过要小心..。它不是严格通过鼠标点击(或手指点击)来触发的。如果您在Android设备上安装了某种键盘,或者在桌面平台上,当您使用箭头键和其他方式时,它也会启动。我觉得你明白我的意思..。但也许这正是你想要的。
https://stackoverflow.com/questions/22975120
复制相似问题