在 delphi 中预览?

Previews in delphi?

我正在 Delphi 创建一个项目,想知道是否可以创建选项卡的预览。我的想法是让一个人将鼠标悬停在将您带到页面的面板上,然后它会在提示中显示预览,就像您将鼠标悬停在任务栏中的图标上一样。如果可能的话,是否也可以将页面而不是面板显示为预览,然后单击它转到那里?我的意思是几乎就像页面的图像,但我的问题是我不希望它成为页面的静态屏幕截图,我希望它能够按原样显示页面,并进行任何更改.这同样适用于提示(即不是静态图像)。

如有任何帮助和解释,我们将不胜感激。

要获取 TTabSheet 的当前视图,您应该使用与此类似的函数:

procedure TForm81.CopySheet(TAB: TTabSheet);
var
  bmp   : TBitMap;

begin
  bmp:=TBitMap.Create;
  try
    bmp.PixelFormat:=TPixelFormat.pf24bit;
    bmp.Width:=TAB.Width; bmp.Height:=TAB.Height;
    TAB.PaintTo(BMP.Canvas,0,0);
    // Do what you need to with the bmp, ie. show it in a hint, a preview window, etc.
  finally
    bmp.Free
  end
end;

基本方法是 TAB(和大多数其他 TControl)上的“PaintTo”,它将自己绘制到 TCanvas(f.ex。TBitmap,如上)。

我将留给您填写“使用 bmp 执行您需要的操作,即以提示、预览 window 等方式显示它。”部分 :-)