>>>如何把一幅图像(JPG或BMP)做成表格的背景<<<(50分)

  • 主题发起人 主题发起人 bobzane
  • 开始时间 开始时间
B

bobzane

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如何把一幅图像(JPG或BMP)做成表格的背景
2、如何对表格(StringGrid)中的单元格进行控制,如字体颜色,大小,单元格的背景,
还有一个就是单元格中的字如何居中,左右居中及上下居中。

有现成的表格控件,能完成上述要求吗?
 
很菜的问题,请大家多关照。
 
很多控件啊,到 wolfsoft.nugoo.com/index.asp 或 www.neweasier.com 或 www.tommstudio.com
或 www.playicq.com 去找吧,哈哈!!!
 
1。在OnDrawCell里控制
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
bitmap:TBitmap;
begin
if (Acol = 1) and (arow = 1) then //判断你的条件
begin
with Sender as TStringGrid do
begin
bitmap:=TBitmap.Create;
bitmap.LoadFromFile('e:/mybmp.bmp');
canvas.StretchDraw(Rect,bitmap);
bitmap.Free;
end;
end;
end;
如果是Jpg
uses jpeg....
....
Jpg:=Tjpegimage.Create;
Jpg.LoadFromFile(FileName)
 
2。也在OnDrawCell里控制
Canvas.Font.color := ...
Canvas.Font.Style := ...
背景用
Canvas.brush.color:=...
Canvas.brush.Style := ...
Canvas.FillRect(Rect);
居中可以用DrawText控制,参数dt_center
【转载】
将StringGrid的DefaultDrawing设为False,再在OnDrawCell事件中加上下列东东,假设你的
StringGrid名称为StrGrid.建议你以后提问前搜一下,这儿有许多相同的问题.
procedure TFrmEdtData.StrGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var Area:TRect;
begin
StrGrid.Canvas.Font.Assign(StrGrid.Font);
with StrGrid,StrGrid.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_RIGHT);//右对齐
end;
end;

 
利用coolcontrol控件就可以实现
 
好久的问题了,结束掉。
多谢大家,祝2003年步步高升,财源滚滚!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部