DELPHI:字符串网格标题背景/字体颜色

时间:2014-09-19 07:25:12

标签: delphi colors cells tstringgrid

我创建了一个包含一定数量列和行的字符串网格。我还在字符串网格上处理一个正确的clic事件,当你右键按下时,它会显示一个弹出菜单。这个弹出菜单中有一些选项。

我的问题是当我从弹出菜单中选择一个选项时,如何更改单元格的背景或警察字体颜色。我知道我们可以使用stringGrid.Col来获取所选的col,并且对于该行也是如此,并且我也知道我们可以在绘制单元格事件上更改颜色。但我只想改变用户操作的颜色。

例如,在我的表中,我打开一个文件,然后将文件内容加载到字符串网格中(它是一个CSV文件)。此文件将在我的应用程序中从字符串网格中修改,然后导出到数据库。用户可以选择具有正确clic的特定col,然后按主键或外键或任何其他选项。例如,当他选择主键时,我想改变列标题的颜色,这样他就可以知道哪个clumn是主键,哪个是外键,依此类推。明白了吗?

PS:我使用的是delphi 2006,无法更改为其他版本。

PS:我在stackoverflow / exchange上搜索了一个delphi论坛,但是我没想找到正确的论坛

1 个答案:

答案 0 :(得分:1)

  1. 按照您目前的方式在OnDrawCell处理程序中以所需颜色绘制背景。
  2. 当您需要更改颜色时,为响应用户操作,通过调用网格上的Invalidate强制执行绘制周期。
  3. 如果由于某种原因您不想使整个控件无效,请计算需要重新绘制的矩形并将其传递给InvalidateRect