将StringGrid的defaultdrawing属性设为false,则里面的字和颜色都没有了,为什么?
解决方案 »
- Delphi6中SOAPService如何设置密码呢?(有还是没有呢)
- 准备学delphi,请给予建议?
- 新的一年到了,开发环境变了,问题又来了,麻烦各位了。
- 请问哪有DirectX7.0 SDK FOR DELPHI下载?????
- exe文件也有导出表,也可以象dll那样导出函数,那么全局hook是不是可以不用dll就能实现了?
- 谁有比较大型的管理系统的源代码,给我一份
- 这句SQL有什么错误,不明白!
- 如何用Delphi访问串/并行口
- 哪里有csdn离线浏览器源码?
- 初学DELPHI的疑惑
- delphi7通过ado连接到局域网上的sqlkserver2000问题
- stdioredirect如何使用?
太有才了!再请教一个问题,以下代码的功能是:当点击一个单元格,该单元格的背景颜色变成红色,字体变成蓝色?问题是:为什么鼠标一离开颜色就消失呢?要怎么做才颜色才不会消失呢?procedure TForm1.StringGrid3DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = StringGrid3.col) and (ARow = StringGrid3.row) then
begin
StringGrid3.Canvas.Font.Color := clBlack;
StringGrid3.Canvas.textrect(Rect, Rect.left, Rect.Top, StringGrid2.Cells[ACol, ARow]);
StringGrid3.Canvas.Brush.Color := clRed;
StringGrid3.Canvas.FillRect(Rect);
end;
end;
var
iRow, iCol: Integer
然后:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = iCol) and (ARow = iRow) then
begin
StringGrid1.Canvas.Font.Color := clBlack;
StringGrid1.Canvas.textrect(Rect, Rect.left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
StringGrid1.Canvas.Brush.Color := clRed;
StringGrid1.Canvas.FillRect(Rect);
end;end;procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
iRow := ARow;
iCol := ACol;
end;
var
iRow, iCol: Integer ;
oldrow,oldcol:integer;procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
stringgrid1.Canvas.Font.Color:=clblack;
stringgrid1.Canvas.TextRect(rect,rect.Left,rect.Top,stringgrid1.cells[oldcol,oldrow]);
stringgrid1.Canvas.Brush.Color:=clwhite;
stringgrid1.Canvas.FillRect(rect);
if (ACol = iCol) and (ARow = iRow) then
begin
StringGrid1.Canvas.Font.Color := clBlack;
StringGrid1.Canvas.textrect(Rect, Rect.left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
StringGrid1.Canvas.Brush.Color := clRed;
StringGrid1.Canvas.FillRect(Rect);
end;
end;procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
oldrow:=irow;
oldcol:=icol; iRow := ARow;
iCol := ACol;
end;