with stringgrid1,stringgrid1.Canvas do
begin
FillRect(Rect);
Area := Rect;
InflateRect(Area, -2, -2);
// if (ACol<2) or (ARow=0) then
DrawText(Handle, PChar(Cells[ACol, ARow]),Length(Cells[ACol, ARow]), Area, DT_CENTER);//设为居中,
end;
begin
FillRect(Rect);
Area := Rect;
InflateRect(Area, -2, -2);
// if (ACol<2) or (ARow=0) then
DrawText(Handle, PChar(Cells[ACol, ARow]),Length(Cells[ACol, ARow]), Area, DT_CENTER);//设为居中,
end;
解决方案 »
- ADO数据控件连续执行操作
- 这段代码findfrirst 函数字符型不认吗?
- 一个高难度的问题!哪个高手能解决???
- Delphi 叫用 BCB 開發的 DLL 的問題(奇怪了,爲什麽不行呀!)
- 阅读Delphi VCL 源代码发现一个奇怪的现象,请教?
- 调试时为何老是弹出Windows.pas?
- 请问连续两个cds.applyupdates在服务器方如何用事务控制??
- 用Reportbuild报表显示两位小数货币(如:0.00)问题
- 右击任务栏上的delphi程序,菜单项怎么少了?
- 怎样在Delphi中编写发手机短信的程序?(高分求救)
- 想做一个企业进销存数据库软件,用pb,VB,delphi,JAVA那个最好!!
- Delphi开发多层碰到运行时Delphi6和Delphi5.0不同的错误和共同的错,请各位高手帮帮忙呀!(在线等待)
写了満足某些条件的Cell现示情况,其它的情况没有写,那么TStringGrid的这
些不满足条件的Cell就不会被正常的显示出来的。
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var Area: TRect;
begin
with stringgrid1,stringgrid1.Canvas do
begin
FillRect(Rect);
Area := Rect;
InflateRect(Area, -2, -2);
if (ACol<2) or (ARow=0) then
DrawText(Handle,
PChar(Cells[ACol, ARow]),
Length(Cells[ACol, ARow]),
Area,
DT_CENTER)//设为居中
else
DrawText(Handle,
PChar(Cells[ACol, ARow]),
Length(Cells[ACol, ARow]),
Area,
DT_LEFT);//其它的居左显示 end;
end;
不就行了。