gpt4 book ai didi

delphi - 从TStringGrid单元格[aCol,aRow]读取文本,该文本由DrawText函数在“OnDrawCell”事件上生成

转载 作者:行者123 更新时间:2023-12-03 18:37:23 25 4
gpt4 key购买 nike

我具有2列1行(TStringGrid的字符串网格(Property: ColCount = 2 & Rowcount = 1)。

OnDrawCell事件的代码:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Parametertext : string;
begin
case ACol of
0 : Parametertext := 'Test';
1 : Parametertext := 'Test1';
end;
stringgrid1.Brush.Color := clBtnFace;
stringgrid1.Font.Color := clWindowText;
stringgrid1.Canvas.FillRect(Rect);
DrawText(stringgrid1.Canvas.Handle, PChar(parameterText), -1, Rect,
DT_SINGLELINE);
end;


运行该应用程序时,得到以下输出:
Sample Output

题:

当我尝试使用 StringGrid1.Cells[0,0]StringGrid1.Cells[1,0]来获取文本时,

除了“ Test”和“ Test1”外,我总是给出一个空字符串“”。

如何使用 StringGrid.Cells[aCol,aRow]从字符串网格获取文本?

最佳答案

您正在生成要绘制的文本,但没有存储它。您还需要设置stringGrid.Cells值,但是可能不在OnDrawCell事件中。

考虑一下您的变量Parametertext。它是在退出时销毁的局部变量。您无法在其他任何地方保存它。那么,为什么还要期望它神奇地出现在cells属性中呢?

关于delphi - 从TStringGrid单元格[aCol,aRow]读取文本,该文本由DrawText函数在“OnDrawCell”事件上生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com