Oct
27
没有特定的属性可以修改,只能修改控件的ONDRAWCELL事件:
SQL Code Copy Code To Clipboard
- procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
- Rect: TRect; State: TGridDrawState);
- var
- sText: string;
- begin
- with StringGrid1 do
- begin
- sText := Cells[ACol, ARow];
- if sText <> ' ' then
- begin
- Canvas.FillRect(Rect);
- DrawText(Canvas.Handle, PChar(sText), Length(sText), Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
- end;
- end;
- end;
这样修改的一个结果是,第一行标题栏也变成了白色背景居中显示,偷个懒,把第一行改成灰色背景吧:
SQL Code Copy Code To Clipboard
- procedure TSolidDepositionPrograssForm.StringGrid1DrawCell(Sender: TObject;
- ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
- var sText: string;
- begin
- with StringGrid1 do
- begin
- sText := Cells[ACol, ARow];
- if sText <> ' ' then
- begin
- if ARow=0 then begin
- Canvas.Brush.Color:=clBtnface;
- end else
- Canvas.Brush.Color:=clWhite;
- Canvas.FillRect(Rect);
- DrawText(Canvas.Handle, PChar(sText), Length(sText), Rect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
- end;
- end;
- end;



