image - Delphi StringGrid 背景图片

标签 image delphi tstringgrid

嗨,有谁知道是否可以将图片显示为字符串网格的背景,或者是否有人知道任何可以执行此操作的免费网格组件。

谢谢

科林

最佳答案

您可以使用支持所有者绘制的TDrawGrid(或TStringGrid),并且执行

procedure TForm1.FormCreate(Sender: TObject);
begin
  FBg := TBitmap.Create;
  FBg.LoadFromFile('C:\Users\Andreas Rejbrand\Pictures\Sample.bmp');
end;

其中FBg是一个TBitmap(例如在表单类中),然后执行

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  r: TRect;
begin
  if not (Sender is TStringGrid) then Exit;
  BitBlt(TStringGrid(Sender).Canvas.Handle,
         Rect.Left,
         Rect.Top,
         Rect.Right - Rect.Left,
         Rect.Bottom - Rect.Top,
         FBg.Canvas.Handle,
         Rect.Left,
         Rect.Top,
         SRCCOPY);
  if gdSelected in State then
    InvertRect(TStringGrid(Sender).Canvas.Handle, Rect);
  r := Rect;
  TStringGrid(Sender).Canvas.Brush.Style := bsClear;
  DrawText(TStringGrid(Sender).Canvas.Handle,
           TStringGrid(Sender).Cells[ACol, ARow],
           length(TStringGrid(Sender).Cells[ACol, ARow]),
           r,
           DT_SINGLELINE or DT_VCENTER or DT_END_ELLIPSIS);
end;

Sample Screenshot Sample Screenshot Sample Screenshot

关于image - Delphi StringGrid 背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285659/

相关文章:

ImageMagick - 像其他照片管理应用程序一样自动调整图像的颜色?

javascript - 如何将图像对象转换为二进制 blob

java - 在代码中一次性设置所有 int/imageresource/clicklistener ext

delphi - 使用 Tcollection 在 delhi 中保存 vcl 对象引用

delphi - 通过单击该行中的任何单元格来选择 TStringGrid 中的一行。

delphi xe2 stringgrid 带注释

jquery - 图像的 anchor href 是否使其下载?

c# - Delphi 到 .NET 转换器

delphi - 使用 Delphi XE 从资源加载时如何保留 PNGImage 蒙版

Delphi TStringGrid多选,确定选定的行