Função OleUIPasteSpecialW (oledlg.h)
Invoca a caixa de diálogo Padrão Colar Especial , permitindo que o usuário selecione o formato do objeto da área de transferência a ser colado ou vinculado.
Sintaxe
UINT OleUIPasteSpecialW(
[in] LPOLEUIPASTESPECIALW unnamedParam1
);
Parâmetros
[in] unnamedParam1
Um ponteiro para uma estrutura OLEUIPASTESPECIAL .
Retornar valor
Definições padrão de êxito/erro
Código de retorno | Descrição |
---|---|
|
Falha desconhecida (não utilizado). |
|
O usuário pressionou o botão OK. |
|
Nenhum erro, o mesmo que OLEUI_OK. |
|
O usuário pressionou o botão Cancelar. |
Erros de validação de campo padrão
Código de retorno | Descrição |
---|---|
|
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. |
|
O ponteiro para uma estrutura OLEUIXXX passada para a função era NULL. |
|
Permissões insuficientes para acesso de leitura ou gravação a uma estrutura OLEUIXXX. |
|
O valor de cbstruct está incorreto. |
|
O valor hWndOwner é inválido. |
|
O valor lpszCaption é inválido. |
|
O valor lpfnHook é inválido. |
|
O valor hInstance é inválido. |
|
O valor lpszTemplate é inválido. |
|
O valor hResource é inválido. |
Erros de inicialização
Código de retorno | Descrição |
---|---|
|
Não é possível localizar o modelo da caixa de diálogo. |
|
Não é possível carregar o modelo da caixa de diálogo. |
|
Falha na inicialização da caixa de diálogo. |
|
Uma chamada para LocalAlloc ou o alocador IMalloc padrão falhou. |
|
Uma chamada para GlobalAlloc ou o alocador IMalloc padrão falhou. |
|
Não é possível chamar LoadString para obter recursos localizados da biblioteca. |
|
Falha ao chamar o alocador IMalloc padrão. |
Erros específicos da função
Código de retorno | Descrição |
---|---|
|
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. |
|
O membro lpSrcDataObject de OLEUIPASTESPECIAL é inválido. |
|
O membro arrPasteEntries de OLEUIPASTESPECIAL é inválido. |
|
O membro arrLinkTypes de OLEUIPASTESPECIAL é inválido. |
|
O conteúdo da área de transferência foi alterado enquanto a caixa de diálogo era exibida. |
|
O membro lpSrcDataObj está incorreto. |
Comentários
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 Colar Especial .
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 membro dwSrcofCopy 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 "Fonte Desconhecida".
Para liberar um HMETAFILEPICT retornado da caixa de diálogo Inserir Objeto ou Colar Especial , exclua o metarquivo 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);
}
}
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | oledlg.h |
Biblioteca | OleDlg.lib |
DLL | OleDlg.dll |