Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Мастер печати фотографий


Автор: lorents 3.1.2009, 15:31
Скажите как вызвать эту функцию?

user posted image

Автор: Akella 3.1.2009, 23:53
Запусти WinAPI монитор. Запусти мастер печати и поищи функцию. Лично пока я не знаю, что ещё посоветовать. Ну погуглить ещё можно.

Автор: Rrader 4.1.2009, 09:45
Цитата(MSDN)

Photos are printed using the Windows XP Photo Printing Wizard... The wizard is implemented in the system file photowiz.dll but the custom interface is not exposed. Instead, the Windows Image Acquisition Library (WIA) from Microsoft is used that provides a COM wrapper for the printing wizard.

Библиотеку качаем http://www.microsoft.com/downloads/details.aspx?FamilyID=a332a77a-01b8-4de6-91c2-b7ea32537e29&DisplayLang=en. Установка как и для любого COM-сервера: RegSvr32 WIAAut.dll. После установки появятся новые классы, их можно использовать вот так, например:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActiveX, ComObj, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure ShowPhotoPrintWizard(Files: TStringList);
var
  I: Integer;
  CommonDialog: OleVariant;
  { Файлы фотографий на печать }
  Vector: OleVariant;
begin
  if not Assigned(Files) then
    Exit;
  CommonDialog := CreateOleObject('WIA.CommonDialog');
  Vector := CreateOleObject('WIA.Vector');
  for I := 0 to Files.Count - 1 do
    Vector.Add(Files[I]);
  CommonDialog.ShowPhotoPrintingWizard(Vector);
  Vector := Unassigned;
  CommonDialog := Unassigned;  
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringList;
begin
  List := TStringList.Create;
  with List do
  try
    Append('C:\WINDOWS\Штукатурка.bmp');
    Append('C:\WINDOWS\Рододендрон.bmp');
    ShowPhotoPrintWizard(List);
  finally
    Free;
  end;
end;

end.

Автор: lorents 4.1.2009, 14:29
Rrader, Спасибо, выручил!

Автор: lorents 6.3.2009, 12:28
а на Windows 2000 и Windows 98 SE будет работать?

Автор: lorents 7.3.2009, 09:48
блин не поддерживает Windows 2000 и Windows 98 SE и даже нет информации что поддержит Vista
может кто знает как отправить несколько несколько фотографий на печать чтобы были примерно такие же функции как в Мастере печати фотографий?

Автор: Rrader 7.3.2009, 14:37
lorents, Minimum operating systems Windows XP SP1. Vista поддерживается

Автор: lorents 7.3.2009, 14:59
Rrader,
ты не знаешь какую нибудь другую библиотеку через которое можно реализовать функцию печать нескольких картинок, но чтобы через диалоговое окно печати?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)