0

我在使用 C++ Buidler XE4 的 TStringGrid 上使用 Drawcell 时遇到问题。在我的 C++ 代码的一部分中,我将一些文本放在单元格中,如下行所示:

StringGrid1->Cells[x][y] = "1.0";

当我这样做时,在 DrawCell 事件中:

UnicodeString tmp = StringGrid1->Cells[ACol][ARow];

tmp 为“1”(当 ACol = x 且 ARow = y 时)。我确信在我的代码中没有任何地方替换“1”中的“1.0”。因此,如果有人可以向我解释发生了什么,我将非常优雅。

正如我实验的那样,它有时会起作用,有时会不起作用(重新编译时)。

C ++ Builder的较低层(它们是delphi的)有时会交换(或类似的东西)TStringGrid后面的StringGrid吗?

4

1 回答 1

0

你所描述的无法复制。TStringGrid众所周知,该控件运行良好。如果您将字符串放入单元格中,则该单元格将返回,直到您对其进行修改。

您的程序中很可能还有其他东西正在修改它。为了让你追查到这一点,我建议你做一个 SSCCE。一旦你这样做了,你肯定会找到你困惑的原因。

于 2014-04-16T13:22:53.063 回答