Oct 27

没有特定的属性可以修改,只能修改控件的ONDRAWCELL事件:

SQL Code Copy Code To Clipboard
  1. procedure   TForm1.StringGrid1DrawCell(Sender:   TObject;   ACol,   ARow:   Integer;    
  2.     Rect:   TRect;   State:   TGridDrawState);    
  3. var    
  4.     sText:   string;    
  5. begin    
  6.     with   StringGrid1   do    
  7.     begin    
  8.         sText   :=   Cells[ACol,   ARow];    
  9.         if   sText   <>   ' '   then    
  10.         begin    
  11.             Canvas.FillRect(Rect);    
  12.             DrawText(Canvas.Handle,   PChar(sText),   Length(sText),   Rect,   DT_CENTER   or   DT_VCENTER   or   DT_SINGLELINE);    
  13.         end;    
  14.     end;    
  15. end;   

这样修改的一个结果是,第一行标题栏也变成了白色背景居中显示,偷个懒,把第一行改成灰色背景吧:

SQL Code Copy Code To Clipboard
  1. procedure TSolidDepositionPrograssForm.StringGrid1DrawCell(Sender: TObject;   
  2.   ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);   
  3. var sText:   string;   
  4. begin  
  5.     with StringGrid1 do   
  6.     begin  
  7.         sText   :=   Cells[ACol,   ARow];   
  8.         if   sText   <>   ' '   then  
  9.         begin  
  10.            if ARow=0 then begin  
  11.               Canvas.Brush.Color:=clBtnface;   
  12.            end else  
  13.               Canvas.Brush.Color:=clWhite;   
  14.               Canvas.FillRect(Rect);   
  15.             DrawText(Canvas.Handle,   PChar(sText),   Length(sText),   Rect,   DT_CENTER   or   DT_VCENTER   or   DT_SINGLELINE);   
  16.         end;   
  17.     end;   
  18. end;  

 

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]