一个很简单的string grid 重绘问题
我重绘了单元格里面的文字,当焦点未转移到别的控件时,如下图所示
转移后如下图所示
如过在Stringgrid里面转移焦点没事情,但是如果在不同控件里面转移焦点,就会出现原来选择的那个单元格上的文字变空白,为什么呢?
//通道名字
if (Cells[ACol,ARow]='yes') or (Cells[ACol,ARow]='no') then
begin
Canvas.brush.Color:=clWindow;
Canvas.FillRect(Rect);
if Cells[ACol,ARow]='yes' then
canvas.Draw( rect.left+5 , rect.top +8, FCheck )
else
canvas.Draw( rect.left+5 , rect.top +8, FNoCheck );
if iPlot_tabID=0 then
canvas.textout (rect.left+10+ FCheck.width,rect.top +5,Arr_Chan_Temp[ARow-1].Ch_Name);
if iPlot_tabID=1 then
canvas.textout (rect.left+10+ FCheck.width,rect.top +5,Arr_Chan_E1[ARow-1].Ch_Name);
if iPlot_tabID=2 then
canvas.textout (rect.left+10+ FCheck.width,rect.top +5,Arr_Chan_E2[ARow-1].Ch_Name);
end;