Compartilhar via


Função OleUIPasteSpecialA (oledlg.h)

Invoca a caixa de diálogo Colar Especial padrão, permitindo que o usuário selecione o formato do objeto da área de transferência a ser colado ou vinculado à colagem.

Sintaxe

UINT OleUIPasteSpecialA(
  [in] LPOLEUIPASTESPECIALA unnamedParam1
);

Parâmetros

[in] unnamedParam1

Um ponteiro para uma estrutura de OLEUIPASTESPECIAL .

Valor de retorno

Definições padrão de êxito/erro

Código de retorno Descrição
OLEUI_FALSE
Falha desconhecida (não utilizado).
OLEUI_OK
O usuário pressionou o botão OK.
OLEUI_SUCCESS
Nenhum erro, o mesmo que OLEUI_OK.
OLEUI_CANCEL
O usuário pressionou o botão Cancelar.
 

Erros de validação de campo padrão

Código de retorno Descrição
OLEUI_ERR_STANDARDMIN
Erros comuns a todas as caixas de diálogo estão no intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Esse valor permite que o aplicativo teste mensagens padrão para exibir mensagens de erro para o usuário.
OLEUI_ERR_STRUCTURENULL
O ponteiro para uma estrutura OLEUIXXX passada para a função foi NULL.
OLEUI_ERR_STRUCTUREINVALID
Permissões insuficientes para acesso de leitura ou gravação a uma estrutura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
O valor de de cbstruct está incorreto.
OLEUI_ERR_HWNDOWNERINVALID
O valor hWndOwner é inválido.
OLEUI_ERR_LPSZCAPTIONINVALID
O valor lpszCaption é inválido.
OLEUI_ERR_LPFNHOOKINVALID
O valor lpfnHook é inválido.
OLEUI_ERR_HINSTANCEINVALID
O valor de hInstance é inválido.
OLEUI_ERR_LPSZTEMPLATEINVALID
O valor lpszTemplate é inválido.
OLEUI_ERR_HRESOURCEINVALID
O hResource valor é inválido.
 

Erros de inicialização

Código de retorno Descrição
OLEUI_ERR_FINDTEMPLATEFAILURE
Não é possível localizar o modelo da caixa de diálogo.
OLEUI_ERR_LOADTEMPLATEFAILURE
Não é possível carregar o modelo da caixa de diálogo.
OLEUI_ERR_DIALOGFAILURE
Falha na inicialização da caixa de diálogo.
OLEUI_ERR_LOCALMEMALLOC
Falha ao LocalAlloc ou ao alocador de IMalloc de padrão.
OLEUI_ERR_GLOBALMEMALLOC
Falha ao GlobalAlloc ou ao alocador de IMalloc de padrão.
OLEUI_ERR_LOADSTRING
Não é possível chamar LoadString para obter recursos localizados da biblioteca.
OLEUI_ERR_OLEMEMALLOC
Falha ao chamar o alocador de IMalloc de padrão.
 

Erros específicos da função

Código de retorno Descrição
OLEUI_ERR_STANDARDMAX
Erros comuns a todas as caixas de diálogo estão no intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Esse valor permite que o aplicativo teste mensagens padrão para exibir mensagens de erro para o usuário.
OLEUI_IOERR_SRCDATAOBJECTINVALID
O lpSrcDataObject membro do OLEUIPASTESPECIAL é inválido.
OLEUI_IOERR_ARRPASTEENTRIESINVALID
O arrPasteEntries membro do OLEUIPASTESPECIAL é inválido.
OLEUI_IOERR_ARRLINKTYPESINVALID
O arrLinkTypes membro do OLEUIPASTESPECIAL é inválido.
OLEUI_PSERR_CLIPBOARDCHANGED
O conteúdo da área de transferência foi alterado enquanto a caixa de diálogo era exibida.
OLEUI_PSERR_GETCLIPBOAARDFAILED

O membro lpSrcDataObj está incorreto.

Observações

O design da caixa de diálogo Colar Especial pressupõe que, se você estiver disposto a permitir que um usuário vincule a um objeto, você também está disposto a permitir que o usuário insira esse objeto. Por esse motivo, se qualquer um dos sinalizadores de OLEUIPASTE_LINKTYPE associados à enumeração OLEUIPASTEFLAG estiver definido, o sinalizador OLEUIPASTE_PASTE também deverá ser definido para que os formatos de dados apareçam na caixa de diálogo Especial de Colagem .

O texto exibido no campo Origem da caixa de diálogo Especial de Colagem padrão, que é implementada em Oledlg32.dll, é a cadeia de caracteres terminada em nulo cujo deslocamento em bytes é especificado no dwSrcofCopy membro da estrutura OBJECTDESCRIPTOR para o objeto a ser colado. Se uma estrutura OBJECTDESCRIPTOR não estiver disponível para esse objeto, a caixa de diálogo exibirá qualquer texto que possa estar associado a CF_LINKSOURCEDESCRIPTOR. Se nenhuma das estruturas estiver disponível, a caixa de diálogo procurará CF_FILENAME. Se CF_FILENAME não for encontrado, a caixa de diálogo exibirá a cadeia de caracteres "Origem Desconhecida".

Para liberar uma HMETAFILEPICT retornada da caixa de diálogo Inserir Objeto ou Colar Especial, exclua o metafile anexado no identificador, da seguinte maneira.

void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
    if (hmfp != NULL)
    {
        LPMETAFILEPICT pmfp = GlobalLock(hmfp);
 
        DeleteMetaFile(pmfp->hMF);
        GlobalUnlock(hmfp);
        GlobalFree(hmfp);
    }
    else
    {
        // Handle null pointers here.
        exit(0);
    }
}

Nota

O cabeçalho oledlg.h define OLEUIPASTESPECIAL como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho oledlg.h
biblioteca OleDlg.lib
de DLL OleDlg.dll

Consulte também

OLEUIPASTEFLAG