Assistant Impression en ligne
L’Assistant Impression Windows Vista Online aide les utilisateurs à commander des impressions de photos provenant des détaillants d’impression en ligne participants. Cet Assistant est conçu pour qu’il puisse être appelé par programme par n’importe quelle application qui souhaite offrir aux utilisateurs la possibilité de commander des impressions de photos. L’Assistant Impression de photos est disponible sur Windows Vista. PIX pour Windows
- fonctionnalités fournies par l’Assistant Impression en ligne
- formats de fichiers photo pris en charge
- lancer par programmation l’Assistant Impression en ligne
- accéder à l’icône De l’Assistant Impression en ligne
- propriétés de l’Assistant Impression en ligne
Fonctionnalités fournies par l’Assistant Impression en ligne
L’Assistant Impression Windows Vista Online permet aux utilisateurs de commander des tirages à partir d’une sélection de détaillants d’impression en ligne participants. Lorsqu’il est appelé, l’Assistant :
- Accepte un fichier ou une liste de fichiers pour lesquels les impressions doivent être triées.
- Récupère automatiquement la liste actuelle des détaillants d’impression en ligne participants et permet à l’utilisateur de sélectionner le détaillant à partir duquel acheter les empreintes photo.
- Guide l’utilisateur tout au long du processus ou de la commande d’impression.
Toute application peut tirer parti des fonctionnalités offertes par l’Assistant Impression Windows Vista Online. Une application n’a besoin que de passer le fichier ou les fichiers pour lesquels les impressions seront triées, et l’Assistant guide l’utilisateur tout au long du processus de classement.
La figure suivante montre l’Assistant Impression Windows Vista Online affichant un exemple de liste des détaillants d’impression en ligne participants.
Formats de fichier photo pris en charge
L’Assistant Impression Windows Vista Online prend en charge tout format de fichier image pour lequel un codec WIC (Windows Imaging Component) est installé. WIC fournit plusieurs codecs standard, notamment :
- Bitmap (BMP)
- Format d’échange graphique (GIF)
- Format d’icône (ICO)
- Groupe d’experts photographiques conjoints (JPEG)
- Portable Network Graphics (PNG)
- Format de fichier image étiqueté (TIFF)
- Format de photo Windows Media
Pour plus d’informations sur les codecs WIC et WIC, consultez composant d’imagerie Windows.
Les formats de fichiers pris en charge par les détaillants d’impression en ligne varient d’un détaillant à l’autre ; Il est possible qu’un détaillant particulier ne prend pas en charge tous les formats de fichier pris en charge par l’Assistant Impression Windows Vista Online. Si l’utilisateur tente de commander des impressions dans un format qui n’est pas pris en charge par le détaillant sélectionné, l’Assistant Impression Windows Vista Online informe l’utilisateur que le détaillant sélectionné ne prend pas en charge le format de fichier soumis.
Lancement par programmation de l’Assistant Impression en ligne
Pour appeler l’Assistant Impression Windows Vista Online, appelez l’interface IDropTarget avec l’identificateur de classe suivant (CLSID) :
CLSID_PublishDropTarget
Ce CLSID est défini dans Shobjidl.h et Shobjidl.idl. Les fichiers à traiter par l’Assistant Impression Windows Vista Online sont spécifiés dans un objet IDataObject.
L’exemple de code suivant montre comment appeler l’Assistant Impression 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);}
Accès à l’icône De l’Assistant Impression en ligne
L’Assistant Impression Windows Vista Online exporte une icône accessible et affichée par les applications qui l’appellent. La figure suivante montre l’icône de l’Assistant Impression Windows Vista Online.
L’exemple de code suivant montre comment récupérer l’index de l’icône de l’Assistant Impression Windows Vista Online en lisant la propriété 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;
}
Propriétés de l’Assistant Impression en ligne
L’Assistant Impression Windows Vista Online définit trois propriétés liées au détaillant d’impression en ligne (MRU) le plus récemment utilisé.
Nom de la propriété | Propriété Value/Function |
---|---|
MRUIcon | L’index de l’icône pour le détaillant d’impression en ligne le plus récemment utilisé peut être lu à partir de cette propriété. |
MRUName | Le nom du détaillant d’impression en ligne le plus récemment utilisé peut être lu à partir de cette propriété. |
UseMRU | Valeur VARIANTVT_BOOL indiquant si l’Assistant doit ignorer la page de sélection du détaillant d’impression en ligne et utiliser simplement le détaillant d’impression en ligne le plus récemment utilisé à la place. Définissez cette propriété sur VARIANT_TRUE pour ignorer la page de sélection du détaillant. |
L’exemple de code suivant montre comment définir la propriété UseMRU afin que l’Assistant Impression Windows Vista Online contourne la page de sélection du détaillant d’impression en ligne et sélectionne automatiquement le détaillant le plus récemment utilisé.
// 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);
L’exemple de code suivant montre comment lire les propriétés MRUName et 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;
}