Função OleUIInsertObjectA (oledlg.h)

Invoca a caixa de diálogo Inserir Objeto padrão, que permite que o usuário selecione uma fonte de objeto e um nome de classe, bem como a opção de exibir o objeto como ele mesmo ou como um ícone.

Sintaxe

UINT OleUIInsertObjectA(
  [in] LPOLEUIINSERTOBJECTA unnamedParam1
);

Parâmetros

[in] unnamedParam1

Ponteiro para a estrutura OLEUIINSERTOBJECT de entrada para essa caixa de diálogo.

Retornar valor

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 era NULL.
OLEUI_ERR_STRUCTUREINVALID
Permissões insuficientes para acesso de leitura ou gravação a uma estrutura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
O valor 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 hInstance é inválido.
OLEUI_ERR_LPSZTEMPLATEINVALID
O valor lpszTemplate é inválido.
OLEUI_ERR_HRESOURCEINVALID
O valor hResource é 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
Uma chamada para LocalAlloc ou o alocador IMalloc padrão falhou.
OLEUI_ERR_GLOBALMEMALLOC
Uma chamada para GlobalAlloc ou o alocador IMalloc padrão falhou.
OLEUI_ERR_LOADSTRING
Não é possível chamar LoadString para recursos localizados da biblioteca.
OLEUI_ERR_OLEMEMALLOC
Falha em uma chamada para o alocador IMalloc 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_LPSZFILEINVALID
O valor lpszFile é inválido ou o usuário tem permissões de acesso de gravação insuficientes. Esse membro lpszFile aponta para o nome do arquivo vinculado ou inserido.
OLEUI_IOERR_PPVOBJINVALID
O valor ppvOjb é inválido. Esse membro aponta para o local em que o ponteiro para o objeto é retornado.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
O valor lpIOleClientSite é inválido. Esse membro aponta para o site cliente do objeto .
OLEUI_IOERR_LPISTORAGEINVALID
O valor lpIStorage é inválido. Esse membro aponta para o armazenamento a ser usado para o objeto .
OLEUI_IOERR_SCODEHASERROR
O membro sc do lpIO tem informações de erro adicionais.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
O valor lpClsidExclude é inválido. Esse membro contém a lista de CLSIDs a serem excluídos.
OLEUI_IOERR_CCHFILEINVALID
O valor cchFile ou lpszFile é inválido. O membro cchFile especifica o tamanho do buffer lpszFile . O membro lpszFile aponta para o nome do arquivo vinculado ou inserido.

Comentários

OleUIInsertObject permite que o usuário selecione o tipo de objeto a ser inserido de uma caixa de listagem que contém os aplicativos de objeto registrados no sistema do usuário. Para preencher essa caixa de listagem, OleUIInsertObject percorre o registro, adicionando todos os servidores de objetos encontrados que atendem aos seguintes critérios:

  • A entrada do Registro não inclui a chave NotInsertable.
  • A entrada do Registro inclui uma chave OLE 1.0 style Protocol\\StdFileEditing\\Server.
  • A entrada do Registro inclui a chave Inserível.
  • O CLSID do objeto não está incluído na lista de objetos a serem excluídos (o membro lpClsidExclude de OLEUIINSERTOBJECT).
Por padrão, OleUIInsertObject não valida servidores de objeto, no entanto, se o sinalizador IOF_VERIFYSERVEREXIST estiver incluído no membro dwFlags da estrutura OLEUIINSERTOBJECT , OleUIInsertObject verificará se o servidor existe. Se ele não existir, o objeto do servidor não será adicionado à lista de objetos disponíveis. A validação do servidor é uma operação extensa de tempo e é um fator de desempenho significativo.

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 OLEUIINSERTOBJECT 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

Confira também

OLEUIINSERTOBJECT

OpenFile