在使用 tstringgrid 控件的时候,需要显示行选,方便客户浏览。其本身带了一个 goRowSelect 属性。设为true可以整行高亮显示,但这样的话就无法编辑单个单元格的内容了。
为解决这个问题,采用了一个变通的方法:
1.在onselect 事件内添加如下代码:
GV_row:= ARow; //gv_row 是一个全局变量。
stringgrid1.Repaint;
2.在onDrawCell 事件内添加如下代码:
if (Arow= GV_row) then
with Stringgrid1.Canvas do
begin
brush.Color:=$00F0F0; //设置虚线的颜色
DrawFocusRect(Rect);
end;
现在,选中的单元行就有了一个蓝色的虚线包围着了,达到了标识当前选中行的目的。
使用tstringgrid控件时,将goRowSelect属性设为true虽能整行高亮显示,但无法编辑单个单元格内容。为解决此问题,通过在onselect和onDrawCell事件内添加代码,让选中的单元行有蓝色虚线包围,实现标识当前选中行的目的。

被折叠的 条评论
为什么被折叠?



