如何显示Windows照片打印向导?

3

我发现了VB函数ShowPhotoPrintingWizard

CommonDialog.ShowPhotoPrintingWizard( _
  ByVal Files As VARIANT _
) As HRESULT

我该如何在Delphi中调用它或获取相等的功能?我正在使用Delphi 2010。
1个回答

6
我认为单个文件可能是这样的:

我认为单个文件可能是这样的:

uses
  ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
  CommDlg: OleVariant;
begin
  CommDlg := CreateOleObject('WIA.CommonDialog');
  CommDlg.ShowPhotoPrintingWizard('d:\Image.jpg');
end;

或者对于多个文件时:

procedure TForm1.Button1Click(Sender: TObject);
var
  Files: OleVariant;
  CommDlg: OleVariant;
begin
  CommDlg := CreateOleObject('WIA.CommonDialog');
  Files := CreateOleObject('WIA.Vector');
  Files.Add('d:\Image 1.jpg');
  Files.Add('d:\Image 2.jpg');
  CommDlg.ShowPhotoPrintingWizard(Files);
end;

@Andreas,谢谢!我最初选择了在CommonDialog方法列表中匹配“Wizard”的第一个选项。真是我的错! :-) - TLama
如果您的图像是TBitmaps,那么打印向导能否使用?也许还有另一个问题? - Bill
不,ShowPhotoPrintingWizard 方法只接受文件,而不是任何类型的流,因此您必须将 TBitmap 图像保存到文件中。是的,那应该是一个单独的问题;-) - TLama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接