Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Assistente de Impressão do Windows Vista Online ajuda os usuários a solicitar impressões de fotos de varejistas de impressão online participantes. Esse assistente foi projetado para que ele possa ser invocado programaticamente por qualquer aplicativo que queira oferecer aos usuários a capacidade de solicitar impressões de fotos. O Assistente de Impressão de Fotos está disponível no Windows Vista. PIX para Windows
- recursos fornecidos pelo Assistente de Impressão Online
- formatos de arquivo de fotos com suporte
- programaticamente iniciando o assistente de impressão online
- acessando o ícone do Assistente de Impressão Online
- Propriedades do MRU do Assistente de Impressão Online do
Recursos fornecidos pelo Assistente de Impressão Online
O Assistente de Impressão do Windows Vista Online permite que os usuários peçam impressões de uma seleção de varejistas de impressão online participantes. Quando invocado, o assistente:
- Aceita um arquivo ou uma lista de arquivos para os quais as impressões devem ser ordenadas.
- Recupera automaticamente a lista atual de varejistas de impressão online participantes e permite que o usuário selecione o varejista do qual comprar as impressões fotográficas.
- Orienta o usuário pelo processo ou ordenando impressões.
Qualquer aplicativo pode se beneficiar dos recursos oferecidos pelo Assistente de Impressão do Windows Vista Online. Um aplicativo só precisa passar o arquivo ou arquivos para os quais as impressões serão ordenadas e o assistente orienta o usuário pelo processo de ordenação.
A figura a seguir mostra o Assistente de Impressão do Windows Vista Online exibindo uma lista de exemplos de varejistas de impressão online participantes.
Formatos de arquivo de foto com suporte
O Assistente de Impressão do Windows Vista Online dá suporte a qualquer formato de arquivo de imagem para o qual um codec wic (componente de imagem do Windows) está instalado. O WIC fornece vários codecs padrão, incluindo:
- Bitmap (BMP)
- Gif (formato de intercâmbio de elementos gráficos)
- Formato de ícone (ICO)
- JpEG (Joint Photographic Experts Group)
- Png (Gráficos de Rede Portátil)
- TIFF (Formato de Arquivo de Imagem Marcado)
- Formato de foto do Windows Media
Para obter mais informações sobre codecs WIC e WIC, consulte do Componente de Imagem do Windows.
Os formatos de arquivo compatíveis com os varejistas de impressão online variam de varejista para varejista; É possível que um determinado varejista não dê suporte a todos os formatos de arquivo compatíveis com o Assistente de Impressão do Windows Vista Online. Se o usuário tentar solicitar impressões em um formato sem suporte do varejista selecionado, o Assistente de Impressão do Windows Vista Online notificará o usuário de que o varejista selecionado não dá suporte ao formato de arquivo enviado.
Iniciando programaticamente o Assistente de Impressão Online
Para invocar o Assistente de Impressão do Windows Vista Online, chame a interface IDropTarget com o seguinte identificador de classe (CLSID):
CLSID_PublishDropTarget
Esse CLSID é definido em Shobjidl.h e Shobjidl.idl. Os arquivos a serem processados pelo Assistente de Impressão do Windows Vista Online são especificados em um objeto IDataObject.
O exemplo de código a seguir demonstra como invocar o Assistente de Impressão do 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);}
Acessando o ícone do Assistente de Impressão Online
O Assistente de Impressão do Windows Vista Online exporta um ícone que pode ser acessado e exibido por aplicativos que o chamam. A figura a seguir mostra o ícone do Assistente de Impressão do Windows Vista Online.
O exemplo de código a seguir demonstra como recuperar o índice para o ícone do Assistente de Impressão do Windows Vista Online lendo a propriedade 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;
}
Propriedades do MRU do Assistente de Impressão Online
O Assistente de Impressão do Windows Vista Online define três propriedades relacionadas ao varejista de impressão online MRU (usado mais recentemente).
Nome da propriedade | Valor/função da propriedade |
---|---|
MRUIcon | O índice do ícone do varejista de impressão online usado mais recentemente pode ser lido desta propriedade. |
MRUName | O nome do varejista de impressão online usado mais recentemente pode ser lido desta propriedade. |
UseMRU | Um valor VARIANTVT_BOOL indicando se o assistente deve ignorar a página de seleção do varejista de impressão online e usar apenas o varejista de impressão online usado mais recentemente. Defina essa propriedade para VARIANT_TRUE ignorar a página de seleção do varejista. |
O exemplo de código a seguir demonstra como definir a propriedade UseMRU para que o Assistente de Impressão do Windows Vista Online ignore a página de seleção do varejista de impressão online e selecione automaticamente o varejista usado mais recentemente.
// 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);
O exemplo de código a seguir demonstra como ler as propriedades 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;
}