我创建了一个包含一定数量列和行的字符串网格。我还在字符串网格上处理一个正确的clic事件,当你右键按下时,它会显示一个弹出菜单。这个弹出菜单中有一些选项。
我的问题是当我从弹出菜单中选择一个选项时,如何更改单元格的背景或警察字体颜色。我知道我们可以使用stringGrid.Col
来获取所选的col,并且对于该行也是如此,并且我也知道我们可以在绘制单元格事件上更改颜色。但我只想改变用户操作的颜色。
例如,在我的表中,我打开一个文件,然后将文件内容加载到字符串网格中(它是一个CSV文件)。此文件将在我的应用程序中从字符串网格中修改,然后导出到数据库。用户可以选择具有正确clic的特定col,然后按主键或外键或任何其他选项。例如,当他选择主键时,我想改变列标题的颜色,这样他就可以知道哪个clumn是主键,哪个是外键,依此类推。明白了吗?
PS:我使用的是delphi 2006,无法更改为其他版本。
PS:我在stackoverflow / exchange上搜索了一个delphi论坛,但是我没想找到正确的论坛答案 0 :(得分:1)
OnDrawCell
处理程序中以所需颜色绘制背景。 Invalidate
强制执行绘制周期。 如果由于某种原因您不想使整个控件无效,请计算需要重新绘制的矩形并将其传递给InvalidateRect
。