TStringGrid OnDrawCell问题

时间:2014-04-16 13:13:33

标签: c++ c++builder-xe4

我遇到了使用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吗?

1 个答案:

答案 0 :(得分:0)

您描述的内容无法复制。知道TStringGrid控件运行良好。如果您将一个字符串放入一个单元格中,那么相同的单元格将会返回,直到您修改它为止。

您的程序中很可能还有其他内容正在修改此功能。为了让你追踪这个,我建议你做一个SSCCE。一旦你这样做,你肯定会找到混淆的原因。