Condividi tramite


Stampa guidata online

La Stampa guidata di Windows Vista Online consente agli utenti di ordinare le stampe delle foto dai rivenditori di stampa online partecipanti. Questa procedura guidata è progettata in modo che possa essere richiamata a livello di codice da qualsiasi applicazione che vuole offrire agli utenti la possibilità di ordinare le stampe di foto. La Stampa guidata foto è disponibile in Windows Vista. PIX per Windows

Funzionalità fornite dalla Stampa guidata online

La Stampa guidata di Windows Vista Online consente agli utenti di ordinare le stampe da una selezione di rivenditori di stampa online partecipanti. Quando viene richiamato, la procedura guidata:

  1. Accetta un file o un elenco di file per i quali devono essere ordinate le stampe.
  2. Recupera automaticamente l'elenco corrente dei rivenditori di stampa online partecipanti e consente all'utente di selezionare il rivenditore da cui acquistare le stampe fotografiche.
  3. Guida l'utente attraverso il processo o l'ordinamento delle stampe.

Qualsiasi applicazione può trarre vantaggio dalle funzionalità offerte dalla Stampa guidata di Windows Vista Online. Un'applicazione deve solo passare il file o i file per i quali verranno ordinate le stampe e la procedura guidata guida l'utente attraverso il processo di ordinamento.

La figura seguente mostra la Stampa guidata di Windows Vista Online che visualizza un elenco di esempi di rivenditori di stampa online partecipanti.

Creazione guidata stampa online di Windows Vista

Formati di file di foto supportati

La Stampa guidata di Windows Vista Online supporta qualsiasi formato di file di immagine per il quale è installato un codec Windows Imaging Component (WIC). WiC offre diversi codec standard, tra cui:

  • Bitmap (BMP)
  • Graphics Interchange Format (GIF)
  • Formato icona (ICO)
  • Joint Photographic Experts Group (JPEG)
  • Portable Network Graphics (PNG)
  • Tagged Image File Format (TIFF)
  • Formato Foto di Windows Media

Per altre informazioni sui codec WIC e WIC, vedi Componente Windows Imaging.

I formati di file supportati dai rivenditori di stampa online variano da rivenditore a rivenditore; è possibile che un particolare rivenditore non supporti tutti i formati di file supportati dalla Stampa guidata di Windows Vista Online. Se l'utente tenta di ordinare le stampe in un formato non supportato dal rivenditore selezionato, la Stampa guidata di Windows Vista Online notifica all'utente che il rivenditore selezionato non supporta il formato di file inviato.

Avvio guidato stampa online a livello di codice

Per richiamare la Stampa guidata di Windows Vista Online, chiamare l'interfaccia IDropTarget con l'identificatore di classe seguente (CLSID):

CLSID_PublishDropTarget

Questo CLSID è definito in Shobjidl.h e Shobjidl.idl. I file da elaborare tramite la Stampa guidata di Windows Vista Online vengono specificati in un oggetto IDataObject .

Nell'esempio di codice seguente viene illustrato come richiamare la Stampa guidata di Windows Vista Online.

// A data object that contains the list of photos to print.
IDataObject* pDataObject;

// Create the Photo Printing Wizard drop target.
CComPtr<IDropTarget> spDropTarget;
        
hr = CoCreateInstance(CLSID_PublishDropTarget,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_PPV_ARGS(&spDropTarget));

// Drop the data object onto the drop target.
POINTL pt = {0};
DWORD dwEffect = DROPEFFECT_LINK | DROPEFFECT_MOVE | DROPEFFECT_COPY;

spDropTarget->DragEnter(pDataObject, MK_LBUTTON, pt, &dwEffect);

spDropTarget->Drop(pDataObject, MK_LBUTTON, pt, &dwEffect);}

Accesso all'icona della Stampa guidata online

La Stampa guidata di Windows Vista Online esporta un'icona accessibile e visualizzata dalle applicazioni che lo chiamano. La figura seguente mostra l'icona della Stampa guidata di Windows Vista Online.

Icona della procedura guidata di stampa online di Windows Vista

Nell'esempio di codice seguente viene illustrato come recuperare l'indice per l'icona della Stampa guidata di Windows Vista Online leggendo la proprietà OPWIcon .

// Create the Online Printing Wizard drop target.
CComPtr<IDropTarget> spDropTarget;
        
HRESULT hr = CoCreateInstance(CLSID_PublishDropTarget,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_PPV_ARGS(&spDropTarget));

// Get the Online Printing Wizard properties.
CComPtr<IPropertyBag> spPropsBag;

spDropTarget->QueryInterface(IID_PPV_ARGS(&spPropsBag));

// Read the icon index from the properties set. 
CComVariant vtIcon;
int nIndex;
hr = spPropsBag->Read(L"OPWIcon", &vtIcon, NULL);

if SUCCEEDED(hr)
{
    nIndex = vtIcon.lVal;
}

Proprietà MRU della Creazione guidata stampa online

La Stampa guidata di Windows Vista Online definisce tre proprietà correlate al rivenditore di stampa online usato più di recente.

Nome proprietà Valore/funzione della proprietà
MRUIcon L'indice dell'icona per il rivenditore di stampa online utilizzato più di recente può essere letto da questa proprietà.
MRUName Il nome del rivenditore di stampa online utilizzato più di recente può essere letto da questa proprietà.
UseMRU Valore VARIANTVT_BOOL che indica se la procedura guidata deve ignorare la pagina di selezione del rivenditore di stampa online e usare invece il rivenditore di stampa online usato più di recente. Impostare questa proprietà su VARIANT_TRUE per ignorare la pagina di selezione del rivenditore.

 

Nell'esempio di codice seguente viene illustrato come impostare la proprietà UseMRU in modo che la Stampa guidata di Windows Vista Online ignori la pagina di selezione del rivenditore di stampa online e selezioni automaticamente il rivenditore utilizzato più di recente.

// A data object that contains the list of photos to order prints for.
IDataObject* pDataObject;

// Create the Online Printing Wizard drop target.
CComPtr<IDropTarget> spDropTarget;
        
HRESULT hr = CoCreateInstance(CLSID_PublishDropTarget,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_PPV_ARGS(&spDropTarget));

// Set the UserMRU property to true to skip retailer selection and use 
// the MRU retailer instead.    
CComQIPtr<IPropertyBag> spPropsBag(spDropTarget);
if(spPropsBag) 
{
    VARIANT varTrue = {0};
    varTrue.vt = VT_BOOL;
    varTrue.boolVal = VARIANT_TRUE;
    spPropsBag->Write(L"UseMRU", &varTrue);
}

// Drop the data object onto the drop target.
POINTL pt = {0};
DWORD dwEffect = DROPEFFECT_LINK | DROPEFFECT_MOVE | DROPEFFECT_COPY;

spDropTarget->DragEnter(pDataObject, MK_LBUTTON, pt, &dwEffect);

spDropTarget->Drop(pDataObject, MK_LBUTTON, pt, &dwEffect);

Nell'esempio di codice seguente viene illustrato come leggere le proprietà MRUName e MRUIcon.

// Create the Online Printing Wizard drop target.
CComPtr<IDropTarget> spDropTarget;
        
HRESULT hr = CoCreateInstance(CLSID_PublishDropTarget,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_PPV_ARGS(&spDropTarget));

// Get the Online Printing Wizard properties.
CComPtr<IPropertyBag> spPropsBag;
spDropTarget->QueryInterface(IID_PPV_ARGS(&spPropsBag));

CComVariant vtMRUName, vtMRUIconIndex;
CComBSTR bstrMRUName;
int nMRUIconIndex;

// Get the MRU name value.
hr = spPropsBag->Read(L"MRUName", &vtMRUName, NULL);
if SUCCEEDED(hr) 
{
    bstrMRUName = vtMRUName.bstrVal;
}

// Get the MRU icon index value.
hr = spPropsBag->Read(L"MRUIcon", &vtMRUIconIndex, NULL);
if SUCCEEDED(hr)
{
    nMRUIconIndex = vtMRUIconIndex.lVal;
}