Compartilhar via


Classe COleClientItem

Define a interface do contêiner para itens OLE.

Sintaxe

class COleClientItem : public CDocItem

Membros

Construtores públicos

Nome Descrição
COleClientItem::COleClientItem Constrói um objeto COleClientItem.

Métodos públicos

Nome Descrição
COleClientItem::Activate Abre o item OLE para uma operação e, em seguida, executa o verbo especificado.
COleClientItem::ActivateAs Ativa o item como outro tipo.
COleClientItem::AttachDataObject Acessa os dados no objeto OLE.
COleClientItem::CanCreateFromData Indica se um aplicativo de contêiner pode criar um objeto inserido.
COleClientItem::CanCreateLinkFromData Indica se um aplicativo de contêiner pode criar um objeto vinculado.
COleClientItem::CanPaste Indica se a Área de Transferência contém um item OLE inserível ou estático.
COleClientItem::CanPasteLink Indica se a Área de Transferência contém um item OLE vinculável.
COleClientItem::Close Fecha um link para um servidor, mas não destrói o item OLE.
COleClientItem::ConvertTo Converte o item em outro tipo.
COleClientItem::CopyToClipboard Copia o item OLE para a Área de Transferência.
COleClientItem::CreateCloneFrom Cria uma duplicata de um item existente.
COleClientItem::CreateFromClipboard Cria um item inserido da Área de Transferência.
COleClientItem::CreateFromData Cria um item inserido de um objeto de dados.
COleClientItem::CreateFromFile Cria um item inserido de um arquivo.
COleClientItem::CreateLinkFromClipboard Cria um item vinculado da Área de Transferência.
COleClientItem::CreateLinkFromData Cria um item vinculado de um objeto de dados.
COleClientItem::CreateLinkFromFile Cria um item vinculado de um arquivo.
COleClientItem::CreateNewItem Cria um item inserido iniciando o aplicativo para servidores.
COleClientItem::CreateStaticFromClipboard Cria um item estático da Área de Transferência.
COleClientItem::CreateStaticFromData Cria um item estático de um objeto de dados.
COleClientItem::Deactivate Desativa o item.
COleClientItem::DeactivateUI Restaura a interface do usuário do aplicativo de contêiner para o estado original.
COleClientItem::Delete Exclui ou fecha o item OLE se ele for um item vinculado.
COleClientItem::DoDragDrop Executa uma operação arrastar e soltar.
COleClientItem::DoVerb Executa o verbo especificado.
COleClientItem::Draw Desenha o item OLE.
COleClientItem::GetActiveView Obtém a exibição na qual o item é ativado no local.
COleClientItem::GetCachedExtent Retorna os limites do retângulo do item OLE.
COleClientItem::GetClassID Obtém a ID da classe do item atual.
COleClientItem::GetClipboardData Obtém os dados que seriam colocados na Área de Transferência chamando a função membro CopyToClipboard.
COleClientItem::GetDocument Retorna o objeto COleDocument que contém o item atual.
COleClientItem::GetDrawAspect Obtém a exibição atual do item para renderização.
COleClientItem::GetExtent Retorna os limites do retângulo do item OLE.
COleClientItem::GetIconFromRegistry Recupera um identificador para um ícone associado ao servidor de um CLSID específico.
COleClientItem::GetIconicMetafile Obtém o meta-arquivo usado para desenhar o ícone do item.
COleClientItem::GetInPlaceWindow Retorna um ponteiro para a janela de edição in-loco do item.
COleClientItem::GetItemState Obtém o estado atual do item.
COleClientItem::GetLastStatus Retorna o status da última operação OLE.
COleClientItem::GetLinkUpdateOptions Retorna a atualização de um item vinculado (recurso avançado).
COleClientItem::GetType Retorna o tipo (inserido, vinculado ou estático) do item OLE.
COleClientItem::GetUserType Obtém uma cadeia de caracteres que descreve o tipo do item.
COleClientItem::IsInPlaceActive Retorna TRUE se o item está ativo in-loco.
COleClientItem::IsLinkUpToDate Retorna TRUE se um item vinculado está atualizado com o respectivo documento de origem.
COleClientItem::IsModified Retorna TRUE se o item foi modificado desde que foi salvo pela última vez.
COleClientItem::IsOpen Retorna TRUE se o item está aberto no aplicativo para servidores no momento.
COleClientItem::IsRunning Retorna TRUE se o aplicativo para servidores do item está em execução.
COleClientItem::OnActivate Chamada pela estrutura para notificar o item de que ele está ativado.
COleClientItem::OnActivateUI Chamada pela estrutura para notificar o item de que ele está ativado e deve mostrar a respectiva interface do usuário.
COleClientItem::OnChange Chamada quando o servidor altera o item OLE. Implementação exigida.
COleClientItem::OnDeactivate Chamada pela estrutura quando um item é desativado.
COleClientItem::OnDeactivateUI Chamada pela estrutura quando o servidor removeu a interface de usuário in-loco correspondente.
COleClientItem::OnGetClipboardData Chamada pela estrutura para obter os dados a serem copiados para a Área de Transferência.
COleClientItem::OnInsertMenus Chamada pela estrutura para criar um menu composto.
COleClientItem::OnRemoveMenus Chamada pela estrutura para remover os menus do contêiner de um menu composto.
COleClientItem::OnSetMenu Chamada pela estrutura para instalar e remover um menu composto.
COleClientItem::OnShowControlBars Chamada pela estrutura para mostrar e ocultar barras de controle.
COleClientItem::OnUpdateFrameTitle Chamada pela estrutura para atualizar a barra de título da janela do quadro.
COleClientItem::ReactivateAndUndo Reativa o item e desfaz a última operação de edição in-loco.
COleClientItem::Release Libera a conexão com um item vinculado OLE e fecha-a se ela estava aberta. Não destrói o item do cliente.
COleClientItem::Reload Recarrega o item após uma chamada para ActivateAs.
COleClientItem::Run Executa o aplicativo associado ao item.
COleClientItem::SetDrawAspect Define o modo de exibição atual do item para renderização.
COleClientItem::SetExtent Define o retângulo delimitador do item OLE.
COleClientItem::SetHostNames Define os nomes exibidos pelo servidor ao editar o item OLE.
COleClientItem::SetIconicMetafile Armazena em cache o meta-arquivo usado para desenhar o ícone do item.
COleClientItem::SetItemRects Define o retângulo delimitador do item.
COleClientItem::SetLinkUpdateOptions Define o modo de atualização para um item vinculado (recurso avançado).
COleClientItem::SetPrintDevice Define o dispositivo de destino de impressão para este item cliente.
COleClientItem::UpdateLink Atualiza o cache de apresentação de um item.

Métodos protegidos

Nome Descrição
COleClientItem::CanActivate Chamada pela estrutura para determinar se a ativação in-loco é permitida.
COleClientItem::OnChangeItemPosition Chamada pela estrutura quando a posição de um item é alterada.
COleClientItem::OnDeactivateAndUndo Chamada pela estrutura para desfazer após a ativação.
COleClientItem::OnDiscardUndoState Chamada pela estrutura para descartar as informações de estado de undo do item.
COleClientItem::OnGetClipRect Chamada pela estrutura para obter as coordenadas de retângulo de recorte do item.
COleClientItem::OnGetItemPosition Chamada pela estrutura para obter a posição do item em relação à exibição.
COleClientItem::OnGetWindowContext Chamada pela estrutura quando um item é ativado no local.
COleClientItem::OnScrollBy Chamada pela estrutura para rolar o item para exibição.
COleClientItem::OnShowItem Chamada pela estrutura para exibir o item OLE.

Comentários

Um item OLE representa dados, criados e mantidos por um aplicativo para servidores, que podem ser incorporados "perfeitamente" em um documento para que eles tenham aparência consistente. O resultado é um "documento composto", constituído pelo item OLE e um documento que o contém.

Um item OLE pode ser inserido ou vinculado. Se ele for inserido, os dados dele serão armazenados como parte do documento composto. Se ele for vinculado, os dados dele serão armazenados como parte de um arquivo separado criado pelo aplicativo para servidores e apenas um link para esse arquivo será armazenado no documento composto. Todos os itens OLE contêm informações que especificam o aplicativo para servidores que deve ser chamado para editá-los.

COleClientItem define várias funções substituíveis que são chamadas em resposta a solicitações do aplicativo para servidores; essas substituições geralmente atuam como notificações. Isso permite que o aplicativo para servidores informe o contêiner de alterações feitas pelo usuário ao editar o item OLE ou recuperar as informações necessárias durante a edição.

COleClientItem pode ser usado com a classe COleDocument, COleLinkingDoc ou COleServerDoc. Para usar COleClientItem, derive uma classe dela e implemente a função membro OnChange, que define como o contêiner responde às alterações feitas no item. Para dar suporte à ativação in-loco, substitua a função membro OnGetItemPosition. Essa função fornece informações sobre a posição exibida do item OLE.

Para obter mais informações sobre como usar a interface do contêiner, consulte os artigos Contêineres: implementando um contêiner e Ativação.

Observação

O SDK do Windows refere-se a itens inseridos e vinculados como "objetos" e se refere a tipos de itens como "classes". Essa referência usa o termo "item" para distinguir a entidade OLE do objeto C++ correspondente e o termo "tipo" para distinguir a categoria OLE da classe C++.

Hierarquia de herança

CObject

CCmdTarget

CDocItem

COleClientItem

Requisitos

Cabeçalho: afxole.h

COleClientItem::Activate

Chame essa função para executar o verbo especificado em vez de DoVerb para que você possa fazer seu processamento quando uma exceção for gerada.

void Activate(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parâmetros

nVerb
Especifica o verbo a ser executado. Pode ser um dos seguintes:

Valor Significado Símbolo
- 0 Verbo primário OLEIVERB_PRIMARY
- 1 Verbo secundário (Nenhuma)
- 1 Exibir item para edição OLEIVERB_SHOW
- 2 Editar item em janela separada OLEIVERB_OPEN
- 3 Ocultar item OLEIVERB_HIDE

O valor -1 normalmente é um alias para outro verbo. Se não houver suporte para edição aberta, -2 terá o mesmo efeito que -1. Para obter valores adicionais, confira IOleObject::DoVerb no SDK do Windows.

pView
Ponteiro para a janela de exibição de contêiner que contém o item OLE; isso é usado pelo aplicativo para servidores para ativação in-loco. Esse parâmetro deverá ser NULL se o contêiner não der suporte à ativação in-loco.

lpMsg
Ponteiro para a mensagem que fez com que o item fosse ativado.

Comentários

Se o aplicativo para servidores foi escrito usando a biblioteca Microsoft Foundation Class, essa função fará com que a função membro OnDoVerb do objeto correspondente COleServerItem seja executada.

Se o verbo primário for Editar e zero for especificado no parâmetro nVerb, o aplicativo para servidores será iniciado para permitir que o item OLE seja editado. Se o aplicativo de contêiner der suporte à ativação in-loco, a edição poderá ser feita no local. Se o contêiner não der suporte à ativação in-loco (ou se o verbo Abrir for especificado), o servidor será iniciado em uma janela separada e a edição poderá ser feita lá. Normalmente, quando o usuário do aplicativo de contêiner clica duas vezes no item OLE, o valor do verbo primário no parâmetro nVerb determina qual ação o usuário pode executar. No entanto, se o servidor der suporte a apenas uma ação, ele tomará essa ação, independentemente do valor especificado no parâmetro nVerb.

Para obter mais informações, confira IOleObject::DoVerb no SDK do Windows.

COleClientItem::ActivateAs

Usa as instalações de conversão de objeto do OLE para ativar o item como se fosse um item do tipo especificado por clsidNew.

virtual BOOL ActivateAs(
    LPCTSTR lpszUserType,
    REFCLSID clsidOld,
    REFCLSID clsidNew);

Parâmetros

lpszUserType
Ponteiro para uma cadeia de caracteres que representa o tipo de usuário de destino, como "Documento do Word".

clsidOld
Uma referência à ID da classe atual do item. A ID de classe deve representar o tipo do objeto real, conforme armazenado, a menos que ele seja um link. Nesse caso, ela deve ser o CLSID do item ao qual o link se refere. O COleConvertDialog fornece automaticamente a ID de classe correta para o item.

clsidNew
Uma referência à ID da classe de destino.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função é chamada automaticamente por COleConvertDialog::DoConvert. Normalmente, ela não é chamada diretamente.

COleClientItem::AttachDataObject

Chame essa função para inicializar um COleDataObject para acessar os dados no item OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Parâmetros

rDataObject
Referência a um objeto COleDataObject que será inicializado para permitir o acesso aos dados no item OLE.

COleClientItem::CanActivate

Chamada pela estrutura quando o usuário solicita a ativação in-loco do item OLE; o valor retornado dessa função determina se a ativação in-loco é permitida.

virtual BOOL CanActivate();

Valor de retorno

Diferente de zero se a ativação in-loco for permitida; caso contrário, 0.

Comentários

A implementação padrão permitirá a ativação in-loco se o contêiner tiver uma janela válida. Substitua essa função para implementar uma lógica especial para aceitar ou recusar a solicitação de ativação. Por exemplo, uma solicitação de ativação pode ser recusada se o item OLE for muito pequeno ou não estiver visível no momento.

Para obter mais informações, confira IOleInPlaceSite::CanInPlaceActivate no SDK do Windows.

COleClientItem::CanCreateFromData

Verifica se um aplicativo de contêiner pode criar um objeto inserido com base no objeto COleDataObject fornecido.

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Parâmetros

pDataObject
Ponteiro para o objeto COleDataObject a partir do qual o item OLE deve ser criado.

Valor de retorno

Diferente de zero se o contêiner puder criar um objeto inserido com base no objeto COleDataObject; caso contrário, 0.

Comentários

A classe COleDataObject é usada em transferências de dados para recuperar dados em vários formatos da Área de Transferência, por meio de arrastar e soltar ou de um item OLE inserido.

Os contêineres podem usar essa função para decidir habilitar ou desabilitar os respectivos comandos Editar/Colar e Editar/Colar Especial.

Para obter mais informações, confira o artigo Objetos de Dados e Fontes de Dados (OLE).

COleClientItem::CanCreateLinkFromData

Verifica se um aplicativo de contêiner pode criar um objeto vinculado com base no objeto COleDataObject fornecido.

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Parâmetros

pDataObject
Ponteiro para o objeto COleDataObject a partir do qual o item OLE deve ser criado.

Valor de retorno

Diferente de zero se o contêiner puder criar um objeto vinculado com base no objeto COleDataObject.

Comentários

A classe COleDataObject é usada em transferências de dados para recuperar dados em vários formatos da Área de Transferência, por meio de arrastar e soltar ou de um item OLE inserido.

Os contêineres podem usar essa função para decidir habilitar ou desabilitar seus comandos Editar/Colar Especial e Editar/Colar Link.

Para obter mais informações, confira o artigo Objetos de Dados e Fontes de Dados (OLE).

COleClientItem::CanPaste

Chame essa função para ver se um item OLE inserido pode ser colado da Área de Transferência.

static BOOL PASCAL CanPaste();

Valor de retorno

Não zero se um item OLE inserido puder ser colado da Área de Transferência; caso contrário, 0.

Comentários

Para obter mais informações, confira OleGetClipboard e OleQueryCreateFromData no SDK do Windows.

Chame essa função para ver se um item OLE vinculado pode ser colado da Área de Transferência.

static BOOL PASCAL CanPasteLink();

Valor de retorno

Diferente de zero se um item OLE vinculado puder ser colado da Área de Transferência; caso contrário, 0.

Comentários

Para obter mais informações, confira OleGetClipboard e OleQueryLinkFromData no SDK do Windows.

COleClientItem::Close

Chame essa função para alterar o estado de um item OLE do estado de execução para o estado carregado, ou seja, carregado com o respectivo manipulador na memória, mas com o servidor não em execução.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Parâmetros

dwCloseOption
Sinalizador especificando em quais circunstâncias o item OLE é salvo quando ele retorna ao estado carregado. Ele pode ter um dos seguintes valores:

  • OLECLOSE_SAVEIFDIRTY Salvar o item OLE.

  • OLECLOSE_NOSAVE Não salvar o item OLE.

  • OLECLOSE_PROMPTSAVE Solicitar ao usuário se deseja salvar o item OLE.

Comentários

Essa função não tem efeito quando o item OLE não está em execução.

Para obter mais informações, confira IOleObject::Close no SDK do Windows.

COleClientItem::COleClientItem

Constrói um objeto COleClientItem e o adiciona à coleção de itens de documento do documento de contêiner, que constrói apenas o objeto C++ e não executa nenhuma inicialização OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Parâmetros

pContainerDoc
Ponteiro para o documento de contêiner que conterá este item. Pode ser qualquer derivado de COleDocument.

Comentários

Se você passar um ponteiro NULL, nenhuma adição será feita ao documento de contêiner. Você precisa chamar explicitamente COleDocument::AddItem.

Você precisa chamar uma das seguintes funções membro de criação antes de usar o item OLE:

COleClientItem::ConvertTo

Chame essa função membro para converter o item no tipo especificado por clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Parâmetros

clsidNew
A ID de classe do tipo de destino.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função é chamada automaticamente por COleConvertDialog. Não é necessário chamá-la diretamente.

COleClientItem::CopyToClipboard

Chame essa função para copiar o item OLE para a Área de Transferência.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parâmetros

bIncludeLink
TRUE se as informações de link devem ser copiadas para a Área de Transferência, permitindo que um item vinculado seja colado; caso contrário, FALSE.

Comentários

Normalmente, você chama essa função ao escrever manipuladores de mensagens para os comandos Copiar ou Recortar no menu Editar. Você precisa implementar a seleção de itens em seu aplicativo de contêiner se quiser implementar os comandos Copiar ou Recortar.

Para obter mais informações, confira OleSetClipboard no SDK do Windows.

COleClientItem::CreateCloneFrom

Chame essa função para criar uma cópia do item OLE especificado.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Parâmetros

pSrcItem
Ponteiro para o item OLE a ser duplicado.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A cópia é idêntica ao item de origem. Você pode usar essa função para dar suporte a operações de desfazer.

COleClientItem::CreateFromClipboard

Chame essa função para criar um item inserido a partir do conteúdo da Área de Transferência.

BOOL CreateFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Normalmente, você chama essa função do manipulador de mensagens para o comando Colar no menu Editar. (O comando Colar será habilitado pela estrutura se a função membro CanPaste retornar um valor diferente de zero.)

Para obter mais informações, confira OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateFromData

Chame essa função para criar um item inserido a partir de um objeto COleDataObject.

BOOL CreateFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

pDataObject
Ponteiro para o objeto COleDataObject a partir do qual o item OLE deve ser criado.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Operações de transferência de dados, como colar da Área de Transferência ou operações de arrastar e soltar, fornecem objetos COleDataObject que contêm as informações oferecidas por um aplicativo para servidores. Geralmente, ele é usado quando você substitui CView::OnDrop.

Para obter mais informações, confira OleCreateFromData, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateFromFile

Chame essa função para criar um item OLE inserido a partir de um arquivo.

BOOL CreateFromFile(
    LPCTSTR lpszFileName,
    REFCLSID clsid = CLSID_NULL,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

lpszFileName
Ponteiro para o nome do arquivo do qual o item OLE deve ser criado.

clsid
Reservado para uso futuro.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A estrutura chamará essa função de COleInsertDialog::CreateItem se o usuário escolher OK na caixa de diálogo Inserir Objeto quando o botão Criar do Arquivo estiver selecionado.

Para obter mais informações, confira OleCreateFromFile, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateLinkFromClipboard

Chame essa função para criar um item vinculado a partir do conteúdo da Área de Transferência.

BOOL CreateLinkFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Normalmente, você chama essa função do manipulador de mensagens para o comando Colar Link no menu Editar. (O comando Colar Link será habilitado na implementação padrão do COleDocument se a Área de Transferência contiver um item OLE que possa ser vinculado.)

Para obter mais informações, confira OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateLinkFromData

Chame essa função para criar um item vinculado a partir de um objeto COleDataObject.

BOOL CreateLinkFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

pDataObject
Ponteiro para o objeto COleDataObject a partir do qual o item OLE deve ser criado.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Chame isso durante uma operação de descarte quando o usuário indicar que um link deve ser criado. Ela também pode ser usada para manipular o comando Editar/Colar. Ela é chamada pela estrutura em COleClientItem::CreateLinkFromClipboard e em COlePasteSpecialDialog::CreateItem quando a opção Vincular foi selecionada.

Para obter mais informações, confira OleCreateLinkFromData, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateLinkFromFile

Chame essa função para criar um item OLE vinculado de um arquivo.

BOOL CreateLinkFromFile(
    LPCTSTR lpszFileName,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

lpszFileName
Ponteiro para o nome do arquivo do qual o item OLE deve ser criado.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A estrutura chamará essa função se o usuário escolher OK na caixa de diálogo Inserir Objeto quando o botão Criar do Arquivo estiver selecionado e a caixa de seleção Vincular estiver marcada. Ela é chamada de COleInsertDialog::CreateItem.

Para obter mais informações, confira OleCreateLinkToFile, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateNewItem

Chame essa função para criar um item inserido; essa função inicia o aplicativo para servidores que permite que o usuário crie o item OLE.

BOOL CreateNewItem(
    REFCLSID clsid,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

clsid
ID que identifica exclusivamente o tipo de item OLE a ser criado.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A estrutura chamará essa função se o usuário escolher OK na caixa de diálogo Inserir Objeto quando o botão Criar estiver selecionado.

Para obter mais informações, confira OleCreate, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateStaticFromClipboard

Chame essa função para criar um item estático a partir do conteúdo da Área de Transferência.

BOOL CreateStaticFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Um item estático contém os dados de apresentação, mas não os dados nativos; consequentemente, ele não pode ser editado. Normalmente, você chama essa função se a função membro CreateFromClipboard falha.

Para obter mais informações, confira OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::CreateStaticFromData

Chame essa função para criar um item estático a partir de um objeto COleDataObject.

BOOL CreateStaticFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parâmetros

pDataObject
Ponteiro para o objeto COleDataObject a partir do qual o item OLE deve ser criado.

render
Sinalizador especificando como o servidor renderizará o item OLE. Para obter os valores possíveis, confira OLERENDER no SDK do Windows.

cfFormat
Especifica o formato de dados da Área de Transferência a ser armazenado em cache ao criar o item OLE.

lpFormatEtc
Ponteiro para uma estrutura FORMATETC usada se render for OLERENDER_FORMAT ou OLERENDER_DRAW. Forneça um valor para esse parâmetro somente se você quiser especificar informações de formato adicionais além do formato de área de transferência especificado por cfFormat. Se você omitir esse parâmetro, os valores padrão serão usados para os outros campos na estrutura FORMATETC.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Um item estático contém os dados de apresentação, mas não os dados nativos; consequentemente, ele não pode ser editado. Isso é essencialmente o mesmo que CreateStaticFromClipboard, exceto que um item estático pode ser criado de um COleDataObject arbitrário, não apenas da Área de Transferência.

Usado em COlePasteSpecialDialog::CreateItem quando a opção Estático é selecionada.

Para obter mais informações, confira OleCreateStaticFromData, OLERENDER e FORMATETC no SDK do Windows.

COleClientItem::Deactivate

Chame essa função para desativar o item OLE e liberar todos os recursos associados.

void Deactivate();

Comentários

Normalmente, você desativa um item OLE ativo no local quando o usuário clica com o mouse na área do cliente fora dos limites do item. Observe que a desativação do item OLE descartará seu estado de desfazer dele, impossibilitando a chamada da função membro ReactivateAndUndo.

Se o aplicativo der suporte a desfazer, não chame Deactivate; em vez disso, chame DeactivateUI.

Para obter mais informações, confira IOleInPlaceObject::InPlaceDeactivate no SDK do Windows.

COleClientItem::DeactivateUI

Chame essa função quando o usuário desativar um item que foi ativado no local.

void DeactivateUI();

Comentários

Essa função restaura a interface do usuário do aplicativo de contêiner para o estado original, ocultando menus e outros controles que foram criados para ativação in-loco.

Essa função não libera as informações de estado de desfazer para o item. Essas informações são retidas para que ReactivateAndUndo possa ser usado posteriormente para executar um comando desfazer no aplicativo para servidores, caso o comando desfazer do contêiner seja escolhido imediatamente após desativar o item.

Para obter mais informações, confira IOleInPlaceObject::InPlaceDeactivate no SDK do Windows.

COleClientItem::Delete

Chame essa função para excluir o item OLE do documento de contêiner.

void Delete(BOOL bAutoDelete = TRUE);

Parâmetros

bAutoDelete
Especifica se o item deve ser removido do documento.

Comentários

Essa função chama a função membro Release que, por sua vez, exclui o objeto C++ do item, removendo permanentemente o item OLE do documento. Se o item OLE estiver inserido, os dados nativos do item serão excluídos. Ele sempre fecha um servidor em execução; portanto, se o item for um link aberto, essa função o fechará.

COleClientItem::DoDragDrop

Chame a função membro DoDragDrop para executar uma operação de arrastar e soltar.

DROPEFFECT DoDragDrop(
    LPCRECT lpItemRect,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

Parâmetros

lpItemRect
O retângulo do item na tela em coordenadas do cliente (pixels).

ptOffset
O desvio de lpItemRect em que a posição do mouse estava no momento do arrasto.

bIncludeLink
Defina-o como TRUE se os dados do link devem ser copiados para a Área de Transferência. Defina-o como FALSE se o aplicativo para servidores não der suporte a links.

dwEffects
Determina os efeitos que a origem do arrasto permitirá na operação de arrastar.

lpRectStartDrag
O ponteiro para o retângulo que define onde a ação de arrastar realmente começa. Para obter mais informações, consulte a seção Comentários a seguir.

Valor de retorno

Um valor DROPEFFECT. Se for DROPEFFECT_MOVE, os dados originais deverão ser removidos.

Comentários

A operação do tipo "arrastar e soltar" não é iniciada imediatamente. Ela aguarda até que o cursor do mouse deixe o retângulo especificado por lpRectStartDrag ou até que um número específico de milissegundos tenha passado. Se lpRectStartDrag for NULL, o tamanho do retângulo será de um pixel.

O tempo de atraso é especificado por uma configuração de chave do Registro. Você pode alterar o tempo de atraso chamando CWinApp::WriteProfileString ou CWinApp::WriteProfileInt. Se você não especificar o tempo de atraso, um valor padrão de 200 milissegundos será usado. O tempo de atraso de arrastar é armazenado da seguinte maneira:

  • O tempo de atraso de arrastar do Windows NT é armazenado em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • O tempo de atraso de arrastar do Windows 3.x é armazenado no arquivo WIN.INI, na seção [Windows}.

  • O tempo de atraso de arrastar do Windows 95/98 é armazenado em uma versão armazenada em cache do WIN.INI.

Para obter mais informações sobre como as informações de atraso de arrastar são armazenadas no Registro ou no arquivo .INI, confira WriteProfileString no SDK do Windows.

COleClientItem::DoVerb

Chame DoVerb para executar o verbo especificado.

virtual BOOL DoVerb(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parâmetros

nVerb
Especifica o verbo a ser executado. Pode incluir um dos seguintes:

Valor Significado Símbolo
- 0 Verbo primário OLEIVERB_PRIMARY
- 1 Verbo secundário (Nenhuma)
- 1 Exibir item para edição OLEIVERB_SHOW
- 2 Editar item em janela separada OLEIVERB_OPEN
- 3 Ocultar item OLEIVERB_HIDE

O valor -1 normalmente é um alias para outro verbo. Se não houver suporte para edição aberta, -2 terá o mesmo efeito que -1. Para obter valores adicionais, confira IOleObject::DoVerb no SDK do Windows.

pView
Ponteiro para a janela de exibição; isso é usado pelo servidor para ativação in-loco. Esse parâmetro deverá ser NULL se o aplicativo de contêiner não permitir a ativação in-loco.

lpMsg
Ponteiro para a mensagem que fez com que o item fosse ativado.

Valor de retorno

Não zero se o verbo foi executado com êxito; caso contrário, 0.

Comentários

Essa função chama a função membro Activate para executar o verbo. Ela também capturará exceções e, se uma for gerada, exibirá uma caixa de mensagem para o usuário.

Se o verbo primário for Editar e zero for especificado no parâmetro nVerb, o aplicativo para servidores será iniciado para permitir que o item OLE seja editado. Se o aplicativo de contêiner der suporte à ativação in-loco, a edição poderá ser feita no local. Se o contêiner não der suporte à ativação in-loco (ou se o verbo Abrir for especificado), o servidor será iniciado em uma janela separada e a edição poderá ser feita lá. Normalmente, quando o usuário do aplicativo de contêiner clica duas vezes no item OLE, o valor do verbo primário no parâmetro nVerb determina qual ação o usuário pode executar. No entanto, se o servidor der suporte a apenas uma ação, ele tomará essa ação, independentemente do valor especificado no parâmetro nVerb.

COleClientItem::Draw

Chame essa função para desenhar o item OLE no retângulo delimitador especificado usando o contexto do dispositivo especificado.

BOOL Draw(
    CDC* pDC,
    LPCRECT lpBounds,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parâmetros

pDC
Ponteiro para um objeto CDC usado para desenhar o item OLE.

lpBounds
Ponteiro para um objeto CRect ou estrutura RECT que define o retângulo delimitador no qual desenhar o item OLE (em unidades lógicas determinadas pelo contexto do dispositivo).

nDrawAspect
Especifica o aspecto do item OLE, ou seja, como ele deve ser exibido. Se nDrawAspect for -1, o último aspecto definido usando SetDrawAspect será usado. Para obter mais informações sobre os valores possíveis, confira SetDrawAspect.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

A função pode usar a representação de meta-arquivo do item OLE criado pela função membro OnDraw de COleServerItem.

Normalmente, você usa Draw para exibição de tela, passando o contexto do dispositivo de tela como pDC. Nesse caso, você precisa especificar apenas os dois primeiros parâmetros.

O parâmetro lpBounds identifica o retângulo no contexto do dispositivo de destino (em relação ao modo de mapeamento atual dele). A renderização pode envolver o dimensionamento da imagem e pode ser usada por aplicativos de contêiner para impor uma exibição que é dimensionada entre o modo de exibição exibido e a imagem impressa final.

Para obter mais informações, confira IViewObject::Draw no SDK do Windows.

COleClientItem::GetActiveView

Retorna a exibição na qual o item está ativado no local.

CView* GetActiveView() const;

Valor de retorno

Um ponteiro para a exibição; caso contrário, NULL se o item não estiver ativado no local.

COleClientItem::GetCachedExtent

Chame essa função para recuperar o tamanho do item OLE.

BOOL GetCachedExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parâmetros

lpSize
Ponteiro para uma estrutura SIZE ou um objeto CSize que receberá as informações de tamanho.

nDrawAspect
Especifica o aspecto do item OLE cujos limites devem ser recuperados. Para saber os valores possíveis, confira SetDrawAspect.

Valor de retorno

Diferente de zero se tiver êxito; 0 se o item OLE estiver em branco.

Comentários

Essa função fornece as mesmas informações que GetExtent. No entanto, você pode chamar GetCachedExtent para obter informações de extensão durante o processamento de outros manipuladores OLE, como OnChange. As dimensões estão em unidades MM_HIMETRIC.

Isso é possível porque GetCachedExtent usa a interface IViewObject2 em vez de usar a interface IOleObject para obter a extensão desse item. O objeto COM IViewObject2 armazena em cache as informações de extensão usadas na chamada anterior para IViewObject::Draw.

Para obter mais informações, confira IViewObject2::GetExtent no SDK do Windows.

COleClientItem::GetClassID

Retorna a ID de classe do item na memória apontado por pClassID.

void GetClassID(CLSID* pClassID) const;

Parâmetros

pClassID
Ponteiro para um identificador do tipo CLSID para recuperar a ID da classe. Para obter informações sobre a CLSID, confira o SDK do Windows.

Comentários

A ID da classe é um número de 128 bits que identifica exclusivamente o aplicativo que edita o item.

Para obter mais informações, confira IPersist::GetClassID no SDK do Windows.

COleClientItem::GetClipboardData

Chame essa função para obter um objeto COleDataSource que contenha todos os dados que seriam colocados na Área de Transferência por uma chamada para a função membro CopyToClipboard.

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

Parâmetros

pDataSource
Ponteiro para um objeto COleDataSource que receberá os dados contidos no item OLE.

bIncludeLink
TRUE se os dados de link devem ser incluídos; caso contrário, FALSE.

lpOffset
O deslocamento do cursor do mouse da origem do objeto em pixels.

lpSize
O tamanho do objeto em pixels.

Comentários

GetClipboardData é chamada como a implementação padrão de OnGetClipboardData. Substitua OnGetClipboardData somente se você quiser oferecer formatos de dados além daqueles oferecidos por CopyToClipboard. Coloque esses formatos no objeto COleDataSource antes ou depois da chamada CopyToClipboard e passe o objeto COleDataSource para a função COleDataSource::SetClipboard. Por exemplo, se você quiser que a posição do item OLE em seu documento de contêiner o acompanhe na Área de Transferência, defina um formato próprio para passar essas informações e coloque-o em COleDataSource antes de chamar CopyToClipboard.

COleClientItem::GetDocument

Chame essa função para obter um ponteiro para o documento que contém o item OLE.

COleDocument* GetDocument() const;

Valor de retorno

Um ponteiro para o documento que contém o item OLE. NULL se o item não fizer parte de um documento.

Comentários

Esse ponteiro permite o acesso ao objeto COleDocument que você passou como um argumento para o construtor COleClientItem.

COleClientItem::GetDrawAspect

Chame a função membro GetDrawAspect para determinar o "aspecto" (ou exibição) atual do item.

DVASPECT GetDrawAspect() const;

Valor de retorno

Um valor da enumeração DVASPECT, cujos valores são listados na referência para SetDrawAspect.

Comentários

O aspecto especifica como o item deve ser renderizado.

COleClientItem::GetExtent

Chame essa função para recuperar o tamanho do item OLE.

BOOL GetExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)- 1);

Parâmetros

lpSize
Ponteiro para uma estrutura SIZE ou um objeto CSize que receberá as informações de tamanho.

nDrawAspect
Especifica o aspecto do item OLE cujos limites devem ser recuperados. Para saber os valores possíveis, confira SetDrawAspect.

Valor de retorno

Diferente de zero se tiver êxito; 0 se o item OLE estiver em branco.

Comentários

Se o aplicativo para servidores foi escrito usando a biblioteca Microsoft Foundation Class, essa função fará com que a função membro OnGetExtent do objeto correspondente COleServerItem seja chamada. Observe que o tamanho recuperado pode diferir do tamanho definido pela última vez pela função membro SetExtent; o tamanho especificado por SetExtent é tratado como uma sugestão. As dimensões estão em unidades MM_HIMETRIC.

Observação

Não chame GetExtent durante o processamento de um manipulador OLE, como OnChange. Em vez disso, chame GetCachedExtent.

Para obter mais informações, confira IOleObject::GetExtent no SDK do Windows.

COleClientItem::GetIconFromRegistry

Chame essa função membro para recuperar um identificador para um recurso de ícone associado ao servidor de um CLSID específico.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Parâmetros

clsid
Uma referência ao CLSID para o servidor associado ao ícone.

Valor de retorno

Um identificador válido para o recurso de ícone ou NULL se o ícone do servidor, ou um ícone padrão, não puder ser encontrado.

Comentários

Essa função membro não iniciará o servidor nem obterá um ícone dinamicamente, mesmo que o servidor já esteja em execução. Em vez disso, essa função membro abre a imagem executável do servidor e recupera o ícone estático associado ao servidor conforme ele foi registrado.

COleClientItem::GetIconicMetafile

Recupera o meta-arquivo usado para desenhar o ícone do item.

HGLOBAL GetIconicMetafile();

Valor de retorno

Um identificador para o meta-arquivo em caso de êxito; caso contrário, NULL.

Comentários

Se não houver nenhum ícone atual, um ícone padrão será retornado. Essa função é chamada automaticamente pelas caixas de diálogo MFC/OLE e geralmente não é chamada diretamente.

Essa função também chama SetIconicMetafile para armazenar o meta-arquivo em cache para uso posterior.

COleClientItem::GetInPlaceWindow

Chame a função membro GetInPlaceWindow para obter um ponteiro para a janela na qual o item foi aberto para edição in-loco.

CWnd* GetInPlaceWindow();

Valor de retorno

Um ponteiro para a janela de edição in-loco do item; NULL se o item não estiver ativo ou se o servidor não estiver disponível.

Comentários

Essa função deve ser chamada apenas para itens que estão ativos in-loco.

COleClientItem::GetItemState

Chame essa função para obter o estado atual do item OLE.

UINT GetItemState() const;

Valor de retorno

Um valor enumerado COleClientItem::ItemState, que pode ser um dos seguintes: emptyState, loadedState, openState, activeState, activeUIState. Para obter informações sobre esses estados, confira o artigo Contêineres: estados de cliente-item.

Comentários

Para ser notificado quando o estado do item OLE for alterado, use a função membro OnChange.

Para obter mais informações, confira o artigo Contêineres: estados de cliente-item.

COleClientItem::GetLastStatus

Retorna o código de status da última operação OLE.

SCODE GetLastStatus() const;

Valor de retorno

Um valor SCODE.

Comentários

Para funções membro que retornam um valor booliano FALSE ou outras funções membro que retornam NULL, GetLastStatus retorna informações de falha mais detalhadas. Lembre-se de que a maioria das funções membro OLE gera exceções para erros mais graves. As informações específicas sobre a interpretação do SCODE dependem da chamada OLE subjacente que retornou pela última vez um valor de SCODE.

Para obter mais informações sobre o SCODE, confira Estrutura de códigos de erro COM na documentação do SDK do Windows.

COleClientItem::GetLinkUpdateOptions

Chame essa função para obter o valor atual da opção de atualização de link para o item OLE.

OLEUPDATE GetLinkUpdateOptions();

Valor de retorno

Um dos seguintes valores:

  • OLEUPDATE_ALWAYS Atualizar o item vinculado sempre que possível. Essa opção dá suporte ao botão de opção Atualização automática de link na caixa de diálogo Links.

  • OLEUPDATE_ONCALL Atualizar o item vinculado somente na solicitação do aplicativo de contêiner (quando a função membro UpdateLink for chamada). Essa opção dá suporte ao botão de opção Atualização manual de link na caixa de diálogo Links.

Comentários

Esta é uma operação avançada.

Essa função é chamada automaticamente pela classe COleLinksDialog.

Para obter mais informações, confira IOleLink::GetUpdateOptions no SDK do Windows.

COleClientItem::GetType

Chame essa função para determinar se o item OLE está inserido ou vinculado ou estático.

OLE_OBJTYPE GetType() const;

Valor de retorno

Um inteiro sem sinal com um dos seguintes valores:

  • OT_LINK O item OLE é um link.

  • OT_EMBEDDED O item OLE está inserido.

  • OT_STATIC O item OLE é estático, ou seja, ele contém apenas dados de apresentação, não dados nativos e, portanto, não pode ser editado.

COleClientItem::GetUserType

Chame essa função para obter a cadeia de caracteres visível pelo usuário que descreve o tipo do item OLE, como "Documento do Word".

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Parâmetros

nUserClassType
Um valor que indica a variante desejada da cadeia de caracteres que descreve o tipo do item OLE. Esse pode ter um dos seguintes valores:

  • USERCLASSTYPE_FULL O nome completo do tipo exibido para o usuário.

  • USERCLASSTYPE_SHORT Um nome curto (máximo de 15 caracteres) para uso em menus pop-up e na caixa de diálogo Editar Links.

  • USERCLASSTYPE_APPNAME Nome do aplicativo que atende a classe.

rString
Uma referência a um objeto CString para o qual a cadeia de caracteres que descreve o tipo do item OLE deve ser retornada.

Comentários

Geralmente, essa é a entrada no banco de dados de registro do sistema.

Se o nome de tipo completo for solicitado, mas não estiver disponível, o nome curto será usado em vez disso. Se nenhuma entrada para o tipo de item OLE for encontrada no banco de dados de registro ou se não houver nenhum tipo de usuário registrado para o tipo de item OLE, o tipo de usuário atualmente armazenado no item OLE será usado. Se esse nome de tipo de usuário for uma cadeia de caracteres vazia, "Objeto Desconhecido" será usado.

Para obter mais informações, confira IOleObject::GetUserType no SDK do Windows.

COleClientItem::IsInPlaceActive

Chame essa função para ver se o item OLE está ativo no local.

BOOL IsInPlaceActive() const;

Valor de retorno

Diferente de zero se o item OLE estiver ativo in-loco; caso contrário, 0.

Comentários

É comum executar uma lógica diferente dependendo se o item está sendo editado no local. A função verifica se o estado do item atual é igual ao activeState ou ao activeUIState.

COleClientItem::IsLinkUpToDate

Chame essa função para conferir se o item OLE está atualizado.

BOOL IsLinkUpToDate() const;

Valor de retorno

Diferente de zero se o item OLE estiver atualizado; caso contrário, 0.

Comentários

Um item vinculado poderá estar desatualizado se o documento de origem tiver sido atualizado. Um item inserido que contém links dentro dele pode ficar desatualizado da mesma forma. A função faz uma verificação recursiva do item OLE. Observe que determinar se um item OLE está desatualizado pode ser tão caro quanto realmente executar uma atualização.

Essa função é chamada automaticamente pela implementação de COleLinksDialog.

Para obter mais informações, confira IOleObject::IsUpToDate no SDK do Windows.

COleClientItem::IsModified

Chame essa função para ver se o item OLE está sujo (modificado desde que foi salvo pela última vez).

BOOL IsModified() const;

Valor de retorno

Diferente de zero se o item OLE estiver sujo; caso contrário, 0.

Comentários

Para obter mais informações, confira IPersistStorage::IsDirty no SDK do Windows.

COleClientItem::IsOpen

Chame essa função para ver se o item OLE está aberto; ou seja, aberto em uma instância do aplicativo para servidores em execução em uma janela separada.

BOOL IsOpen() const;

Valor de retorno

Diferente de zero se o item OLE estiver aberto; caso contrário, 0.

Comentários

Ele é usado para determinar quando desenhar o objeto com um padrão de hachura. Um objeto aberto deve ter um padrão de hachura desenhado em cima do objeto. Você pode usar um objeto CRectTracker para fazer isso.

COleClientItem::IsRunning

Chame essa função para ver se o item OLE está em execução; ou seja, se o item está carregado e em execução no aplicativo para servidores.

BOOL IsRunning() const;

Valor de retorno

Diferente de zero se o item OLE estiver em execução; caso contrário, 0.

Comentários

Para obter mais informações, confira OleIsRunning no SDK do Windows.

COleClientItem::OnActivate

Chamada pela estrutura para notificar o item de que ele acabou de ser ativado no local.

virtual void OnActivate();

Comentários

Observe que essa função é chamada para indicar que o servidor está em execução, não para indicar que sua interface do usuário foi instalada no aplicativo de contêiner. Neste ponto, o objeto não tem uma interface do usuário ativa (não é activeUIState). Ele não instalou os próprios menus ou barra de ferramentas. A função membro OnActivateUI é chamada quando isso acontece.

A implementação padrão chama a função membro OnChange com OLE_CHANGEDSTATE como um parâmetro. Substitua essa função para executar o processamento personalizado quando um item ficar ativo no local.

COleClientItem::OnActivateUI

A estrutura chama OnActivateUI quando o objeto entrou no estado ativo da interface do usuário.

virtual void OnActivateUI();

Comentários

O objeto agora instalou a própria barra de ferramentas e menus.

A implementação padrão lembra o HWND do servidor para chamadas GetServerWindow posteriores.

COleClientItem::OnChange

Chamada pela estrutura quando o usuário modifica, salva ou fecha o item OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Parâmetros

nCode
O motivo pelo qual o servidor alterou esse item. Ele pode ter um dos seguintes valores:

  • OLE_CHANGED A aparência do item OLE foi alterada.

  • OLE_SAVED O item OLE foi salvo.

  • OLE_CLOSED O item OLE foi fechado.

  • OLE_CHANGED_STATE O item OLE foi alterado de um estado para outro.

dwParam
Se nCode for OLE_SAVED ou OLE_CLOSED, esse parâmetro não será usado. Se nCode for OLE_CHANGED, esse parâmetro especificará o aspecto do item OLE que foi alterado. Para obter os valores possíveis, confira o parâmetro dwParam de COleClientItem::Draw. Se nCode for OLE_CHANGED_STATE, esse parâmetro será um valor enumerado COleClientItem::ItemState e descreverá o estado que está sendo inserido. Ele pode ter um dos seguintes valores: emptyState, loadedState, openState, activeState ou activeUIState.

Comentários

(Se o aplicativo para servidores for escrito usando a biblioteca Microsoft Foundation Class, essa função será chamada em resposta às Notify funções membro de COleServerDoc ou COleServerItem.) A implementação padrão marcará o documento de contêiner como modificado se nCode for OLE_CHANGED ou OLE_SAVED.

Para OLE_CHANGED_STATE, o estado atual retornado de GetItemState ainda será o estado antigo, o que significa que o estado era atual antes dessa alteração de estado.

Substitua essa função para responder a alterações no estado do item OLE. Normalmente, você atualiza a aparência do item invalidando a área na qual o item é exibido. Chame a implementação da classe base no início da substituição.

COleClientItem::OnChangeItemPosition

Chamada pela estrutura para notificar o contêiner de que a extensão do item OLE foi alterada durante a ativação in-loco.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Parâmetros

rectPos
Indica a posição do item em relação à área de cliente do aplicativo de contêiner.

Valor de retorno

Diferente de zero se a posição do item for alterada com êxito; caso contrário, 0.

Comentários

A implementação padrão determina o novo retângulo visível do item OLE e chama SetItemRects com os novos valores. A implementação padrão calcula o retângulo visível para o item e passa essas informações para o servidor.

Substitua essa função para aplicar regras especiais à operação de redimensionamento/movimentação. Se o aplicativo for gravado no MFC, isso resultará nessa chamada porque o servidor chamou COleServerDoc::RequestPositionChange.

COleClientItem::OnDeactivate

Chamada pela estrutura quando o item OLE faz a transição do estado ativo local (activeState) para o estado carregado, o que significa que ele é desativado após uma ativação in-loco.

virtual void OnDeactivate();

Comentários

Observe que essa função é chamada para indicar que o item OLE está fechado, não que a respectiva interface do usuário foi removida do aplicativo de contêiner. Quando isso ocorre, a função membro OnDeactivateUI é chamada.

A implementação padrão chama a função membro OnChange com OLE_CHANGEDSTATE como um parâmetro. Substitua essa função para executar o processamento personalizado quando um item ativo in-loco for desativado. Por exemplo, se você der suporte ao comando desfazer em seu aplicativo de contêiner, poderá substituir essa função para descartar o estado de desfazer, indicando que a última operação executada no item OLE não poderá ser desfeita depois que o item tiver sido desativado.

COleClientItem::OnDeactivateAndUndo

Chamada pela estrutura quando o usuário invoca o comando desfazer depois de ativar o item OLE no local.

virtual void OnDeactivateAndUndo();

Comentários

A implementação padrão chama DeactivateUI para desativar a interface do usuário do servidor. Substitua essa função se você estiver implementando o comando desfazer em seu aplicativo de contêiner. Em sua substituição, chame a versão da classe base da função e desfaça o último comando executado em seu aplicativo.

Para obter mais informações, confira IOleInPlaceSite::DeactivateAndUndo no SDK do Windows.

COleClientItem::OnDeactivateUI

Chamada quando o usuário desativa um item que foi ativado no local.

virtual void OnDeactivateUI(BOOL bUndoable);

Parâmetros

bUndoable
Especifica se as alterações de edição podem ser desfeitas.

Comentários

Essa função restaura a interface do usuário do aplicativo de contêiner para o estado original, ocultando menus e outros controles que foram criados para ativação in-loco.

Se bUndoable for FALSE, o contêiner deverá desabilitar o comando desfazer, descartando o estado de desfazer do contêiner, pois indica que a última operação executada pelo servidor não pode ser desfeita.

COleClientItem::OnDiscardUndoState

Chamada pela estrutura quando o usuário executa uma ação que descarta o estado de desfazer durante a edição do item OLE.

virtual void OnDiscardUndoState();

Comentários

A implementação padrão não tem ação. Substitua essa função se você estiver implementando o comando desfazer em seu aplicativo de contêiner. Na substituição, descarte o estado de desfazer do aplicativo de contêiner.

Se o servidor tiver sido gravado com a biblioteca Microsoft Foundation Class, o servidor poderá fazer com que essa função seja chamada chamando COleServerDoc::DiscardUndoState.

Para obter mais informações, confira IOleInPlaceSite::DiscardUndoState no SDK do Windows.

COleClientItem::OnGetClipboardData

Chamada pela estrutura para obter um objeto COleDataSource que contém todos os dados que seriam colocados na Área de Transferência por uma chamada para a função membro CopyToClipboard ou DoDragDrop.

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

Parâmetros

bIncludeLink
Defina isso como TRUE se os dados de link devem ser copiados para a área de transferência. Defina isso como FALSE se o aplicativo de servidor não der suporte a links.

lpOffset
Ponteiro para o deslocamento do cursor do mouse da origem do objeto em pixels.

lpSize
Ponteiro para o tamanho do objeto em pixels.

Valor de retorno

Um ponteiro para um objeto COleDataSource que contém os dados da área de transferência.

Comentários

A implementação padrão dessa função chama GetClipboardData.

COleClientItem::OnGetClipRect

A estrutura chama a função membro OnGetClipRect para obter as coordenadas do retângulo de recorte do item que está sendo editado no local.

virtual void OnGetClipRect(CRect& rClipRect);

Parâmetros

rClipRect
Ponteiro para um objeto da classe CRect que conterá as coordenadas do retângulo de recorte do item.

Comentários

As coordenadas estão em pixels em relação à área de cliente da janela do aplicativo de contêiner.

A implementação padrão simplesmente retorna o retângulo do cliente da exibição na qual o item está ativo in-loco.

COleClientItem::OnGetItemPosition

A estrutura chama a função membro OnGetItemPosition para obter as coordenadas do item que está sendo editado no local.

virtual void OnGetItemPosition(CRect& rPosition);

Parâmetros

rPosition
Referência ao objeto CRect que conterá as coordenadas de posição do item.

Comentários

As coordenadas estão em pixels em relação à área de cliente da janela do aplicativo de contêiner.

A implementação padrão dessa função não faz nada. Aplicativos que dão suporte à edição in-loco exigem a implementação dela.

COleClientItem::OnGetWindowContext

Chamada pela estrutura quando um item é ativado no local.

virtual BOOL OnGetWindowContext(
    CFrameWnd** ppMainFrame,
    CFrameWnd** ppDocFrame,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);

Parâmetros

ppMainFrame
Ponteiro para um ponteiro para a janela do quadro principal.

ppDocFrame
Ponteiro para um ponteiro para a janela do quadro do documento.

lpFrameInfo
Ponteiro para uma estrutura OLEINPLACEFRAMEINFO que receberá informações da janela do quadro.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Essa função é usada para recuperar informações sobre a janela pai do item OLE.

Se o contêiner for um aplicativo MDI, a implementação padrão retornará um ponteiro para o objeto CMDIFrameWnd em ppMainFrame e um ponteiro para o objeto CMDIChildWnd ativo em ppDocFrame. Se o contêiner for um aplicativo SDI, a implementação padrão retornará um ponteiro para o objeto CFrameWnd em ppMainFrame e retornará NULO em ppDocFrame. A implementação padrão também preenche os membros de lpFrameInfo.

Substitua essa função somente se a implementação padrão não atender ao seu aplicativo; por exemplo, se o aplicativo tiver um paradigma de interface do usuário diferente do SDI ou do MDI. Essa é uma substituição avançada.

Para obter mais informações, confira IOleInPlaceSite::GetWindowContext e a estrutura OLEINPLACEFRAMEINFO no SDK do Windows.

COleClientItem::OnInsertMenus

Chamada pela estrutura durante a ativação in-loco para inserir os menus do aplicativo de contêiner em um menu vazio.

virtual void OnInsertMenus(
    CMenu* pMenuShared,
    LPOLEMENUGROUPWIDTHS lpMenuWidths);

Parâmetros

pMenuShared
Aponta para um menu vazio.

lpMenuWidths
Aponta para uma matriz de seis valores LONG que indicam quantos menus estão em cada um dos seguintes grupos de menus: Arquivo, Editar, Contêiner, Objeto, Janela, Ajuda. O aplicativo de contêiner é responsável pelos grupos de menus Arquivo, Contêiner e Janela, correspondentes aos elementos 0, 2 e 4 dessa matriz.

Comentários

Em seguida, esse menu é passado para o servidor, que insere menus próprios, criando um menu composto. Essa função pode ser chamada repetidamente para criar vários menus compostos.

A implementação padrão insere em pMenuShared os menus de contêiner in-loco; ou seja, os grupos de menus Arquivo, Contêiner e Janela. CDocTemplate::SetContainerInfo é usado para definir esse recurso de menu. A implementação padrão também atribui os valores apropriados aos elementos 0, 2 e 4 em lpMenuWidths, dependendo do recurso de menu. Substitua essa função se a implementação padrão não for apropriada para seu aplicativo; por exemplo, se o aplicativo não usar modelos de documento para associar recursos a tipos de documento. Se você substituir essa função, também deverá substituir OnSetMenu e OnRemoveMenus. Essa é uma substituição avançada.

Para obter mais informações, confira IOleInPlaceFrame::InsertMenus no SDK do Windows.

COleClientItem::OnRemoveMenus

Chamada pela estrutura para remover os menus do contêiner do menu composto especificado quando a ativação in-loco terminar.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Parâmetros

pMenuShared
Aponta para o menu composto construído por chamadas para a função membro OnInsertMenus.

Comentários

A implementação padrão remove de pMenuShared os menus de contêiner in-loco; ou seja, os grupos de menus Arquivo, Contêiner e Janela. Substitua essa função se a implementação padrão não for apropriada para seu aplicativo; por exemplo, se o aplicativo não usar modelos de documento para associar recursos a tipos de documento. Se você substituir essa função, provavelmente também deverá substituir OnInsertMenus e OnSetMenu. Essa é uma substituição avançada.

Os submenus em pMenuShared poderão ser compartilhados por mais de um menu composto se o servidor tiver chamado OnInsertMenusrepetidamente. Portanto, você não deve excluir nenhum submenu em sua substituição de OnRemoveMenus; você deve apenas desanexá-los.

Para obter mais informações, confira IOleInPlaceFrame::RemoveMenus no SDK do Windows.

COleClientItem::OnScrollBy

Chamada pela estrutura para rolar o item OLE em resposta às solicitações do servidor.

virtual BOOL OnScrollBy(CSize sizeExtent);

Parâmetros

sizeExtent
Especifica as distâncias, em pixels, para rolar nas direções x e y.

Valor de retorno

Diferente de zero se o item foi rolado; 0 se o item não pôde ser rolado.

Comentários

Por exemplo, se o item OLE estiver parcialmente visível e o usuário se mover para fora da região visível ao executar a edição in-loco, essa função será chamada para manter o cursor visível. A implementação padrão não tem ação. Substitua essa função para rolar o item pela quantidade especificada. Observe que, como resultado da rolagem, a parte visível do item OLE pode ser alterada. Chame SetItemRects para atualizar o retângulo visível do item.

Para obter mais informações, confira IOleInPlaceSite::Scroll no SDK do Windows.

COleClientItem::OnSetMenu

Chamada pela estrutura duas vezes quando a ativação in-loco começa e termina; a primeira vez para instalar o menu composto e a segunda vez (com holemenu igual a NULL) para removê-lo.

virtual void OnSetMenu(
    CMenu* pMenuShared,
    HOLEMENU holemenu,
    HWND hwndActiveObject);

Parâmetros

pMenuShared
Ponteiro para o menu composto construído por chamadas para a função membro OnInsertMenus e a função InsertMenu.

holemenu
Identificador para o descritor de menu retornado pela função OleCreateMenuDescriptor ou NULL se o código de expedição for removido.

hwndActiveObject
Identificador para a janela de edição do item OLE. Essa é a janela que receberá comandos de edição do OLE.

Comentários

A implementação padrão instala ou remove o menu composto e chama a função OleSetMenuDescriptor para instalar ou remover o código de expedição. Substitua essa função se a implementação padrão não for apropriada para seu aplicativo. Se você substituir essa função, provavelmente também deverá substituir OnInsertMenus e OnRemoveMenus. Essa é uma substituição avançada.

Para obter mais informações, confira OleCreateMenuDescriptor, OleSetMenuDescriptor e IOleInPlaceFrame::SetMenu no SDK do Windows.

COleClientItem::OnShowControlBars

Chamada pela estrutura para mostrar e ocultar as barras de controle do aplicativo de contêiner.

virtual BOOL OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

Parâmetros

pFrameWnd
Ponteiro para a janela do quadro do aplicativo de contêiner. Ela pode ser uma janela do quadro principal ou uma janela filho do MDI.

bShow
Especifica se as barras de controle devem ser mostradas ou ocultas.

Valor de retorno

Diferente de zero se a chamada de função causar uma alteração no estado das barras de controle; 0 se a chamada não causar nenhuma alteração ou se pFrameWnd não apontar para a janela do quadro do contêiner.

Comentários

Essa função retornará 0 se as barras de controle já estiverem no estado especificado por bShow. Isso ocorreria, por exemplo, se as barras de controle estiverem ocultas e bShow fosse FALSE.

A implementação padrão remove a barra de ferramentas da janela do quadro de nível superior.

COleClientItem::OnShowItem

Chamada pela estrutura para exibir o item OLE, tornando-o totalmente visível durante a edição.

virtual void OnShowItem();

Comentários

Ele é usado quando o aplicativo de contêiner dá suporte a links para itens inseridos (ou seja, se você derivou sua classe de documento de COleLinkingDoc). Essa função é chamada durante a ativação in-loco ou quando o item OLE é uma fonte de link e o usuário deseja editá-la. A implementação padrão ativa a primeira exibição no documento de contêiner. Substitua essa função para rolar o documento para que o item OLE fique visível.

COleClientItem::OnUpdateFrameTitle

Chamada pela estrutura durante a ativação in-loco para atualizar a barra de título da janela do quadros.

virtual BOOL OnUpdateFrameTitle();

Valor de retorno

Diferente de zero se essa função tiver atualizado com êxito o título do quadro, caso contrário, zero.

Comentários

A implementação padrão não altera o título da janela do quadro. Substitua essa função se você quiser um título de quadro diferente para seu aplicativo, por exemplo, "aplicativo de servidor - item em nome do documento" (como em" Microsoft Excel – planilha em RELATÓRIO.DOC"). Essa é uma substituição avançada.

COleClientItem::ReactivateAndUndo

Chame essa função para reativar o item OLE e desfazer a última operação executada pelo usuário durante a edição in-loco.

BOOL ReactivateAndUndo();

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Se o aplicativo de contêiner der suporte ao comando desfazer, chame essa função se o usuário escolher o comando desfazer imediatamente após desativar o item OLE.

Se o aplicativo para servidores for gravado com as bibliotecas do Microsoft Foundation Class, essa função fará com que o servidor chame COleServerDoc::OnReactivateAndUndo.

Para obter mais informações, confira IOleInPlaceObject::ReactivateAndUndo no SDK do Windows.

COleClientItem::Release

Chame essa função para limpar os recursos usados pelo item OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parâmetros

dwCloseOption
Sinalizador especificando em quais circunstâncias o item OLE é salvo quando ele retorna ao estado carregado. Para obter uma lista de valores possíveis, confira COleClientItem::Close.

Comentários

Release é chamado pelo destruidor COleClientItem.

Para obter mais informações, confira IUnknown::Release no SDK do Windows.

COleClientItem::Reload

Fecha e recarrega o item.

BOOL Reload();

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Chame a função Reload depois de ativar o item como um item de outro tipo por uma chamada para ActivateAs.

COleClientItem::Run

Executa o aplicativo associado a este item.

void Run();

Comentários

Chame a função membro Run para iniciar o aplicativo para servidores antes de ativar o item. Isso é feito automaticamente por Activate e DoVerb, portanto, geralmente não é necessário chamar essa função. Chame essa função se for necessário executar o servidor para definir um atributo de item, como SetExtent, antes de executar DoVerb.

COleClientItem::SetDrawAspect

Chame a função membro SetDrawAspect para definir o "aspecto", ou exibição, do item.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Parâmetros

nDrawAspect
Um valor da enumeração DVASPECT. Esse parâmetro pode ter um dos seguintes valores:

  • DVASPECT_CONTENT O item é representado de maneira que ele possa ser exibido como um objeto inserido dentro do respectivo contêiner.

  • DVASPECT_THUMBNAIL O item é renderizado em uma representação de "miniatura" para que ele possa ser exibido em uma ferramenta de navegação.

  • DVASPECT_ICON O item é representado por um ícone.

  • DVASPECT_DOCPRINT O item é representado como se tivesse sido impresso usando o comando Imprimir no menu Arquivo.

Comentários

O aspecto especifica como o item deve ser renderizado por Draw quando o valor padrão do argumento nDrawAspect dessa função é usado.

Essa função é chamada automaticamente por Alterar Ícone (e outros diálogos que chamam a caixa de diálogo Alterar Ícone diretamente) para habilitar o aspecto de exibição icônico quando solicitado pelo usuário.

COleClientItem::SetExtent

Chame essa função para especificar quanto espaço está disponível para o item OLE.

void SetExtent(
    const CSize& size,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

Parâmetros

size
Um objeto CSize que contém as informações de tamanho.

nDrawAspect
Especifica o aspecto do item OLE cujos limites devem ser definidos. Para saber os valores possíveis, confira SetDrawAspect.

Comentários

Se o aplicativo para servidores foi escrito usando a biblioteca Microsoft Foundation Class, essa função fará com que a função membro OnSetExtent do objeto correspondente COleServerItem seja chamada. Depois, o item OLE pode ajustar a própria exibição adequadamente. As dimensões precisam estar em unidades MM_HIMETRIC. Chame essa função quando o usuário redimensionar o item OLE ou se você der suporte a alguma forma de negociação de layout.

Para obter mais informações, confira IOleObject::SetExtent no SDK do Windows.

COleClientItem::SetHostNames

Chame essa função para especificar o nome do aplicativo de contêiner e o nome do contêiner para um item OLE inserido.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Parâmetros

lpszHost
Ponteiro para o nome visível do usuário do aplicativo de contêiner.

lpszHostObj
Ponteiro para uma cadeia de caracteres de identificação do contêiner que contém o item OLE.

Comentários

Se o aplicativo para servidores foi gravado usando a biblioteca Microsoft Foundation Class, essa função chamará a função membro OnSetHostNames do documento COleServerDoc que contém o item OLE. Essas informações são usadas em títulos de janela quando o item OLE está sendo editado. Sempre que um documento de contêiner é carregado, a estrutura chama essa função para todos os itens OLE no documento. SetHostNames é aplicável somente a itens inseridos. Não será necessário chamar essa função sempre que um item OLE inserido for ativado para edição.

Essa função também é chamada automaticamente com o nome do aplicativo e o nome do documento quando um objeto é carregado ou quando um arquivo é salvo em um nome diferente. Assim, normalmente não é necessário chamar essa função diretamente.

Para obter mais informações, confira IOleObject::SetHostNames no SDK do Windows.

COleClientItem::SetIconicMetafile

Armazena em cache o meta-arquivo usado para desenhar o ícone do item.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Parâmetros

hMetaPict
Um identificador do meta-arquivo usado para desenhar o ícone do item.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Use GetIconicMetafile para recuperar o meta-arquivo.

O parâmetro hMetaPict é copiado para o item; portanto, hMetaPict precisa ser liberado pelo chamador.

COleClientItem::SetItemRects

Chame essa função para definir o retângulo delimitador ou o retângulo visível do item OLE.

BOOL SetItemRects(
    LPCRECT lpPosRect = NULL,
    LPCRECT lpClipRect = NULL);

Parâmetros

lprcPosRect
Ponteiro para o retângulo que contém os limites do item OLE em relação à janela pai, nas coordenadas do cliente.

lprcClipRect
Ponteiro para o retângulo que contém os limites da parte visível do item OLE em relação à janela pai dele, nas coordenadas do cliente.

Valor de retorno

Diferente de zero se tiver êxito. caso contrário, 0.

Comentários

Essa função é chamada pela implementação padrão da função membro OnChangeItemPosition. Você deverá chamar essa função sempre que a posição ou a parte visível do item OLE for alterada. Normalmente, isso significa que você a chama das funções membro OnSize e OnScrollBy da sua exibição.

Para obter mais informações, confira IOleInPlaceObject::SetObjectRects no SDK do Windows.

COleClientItem::SetLinkUpdateOptions

Chame essa função para definir a opção de atualização de link para a apresentação do item vinculado especificado.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Parâmetros

dwUpdateOpt
O valor da opção de atualização de link para este item. O valor precisa ser um dos seguintes:

  • OLEUPDATE_ALWAYS Atualizar o item vinculado sempre que possível. Essa opção dá suporte ao botão de opção Atualização automática de link na caixa de diálogo Links.

  • OLEUPDATE_ONCALL Atualizar o item vinculado somente na solicitação do aplicativo de contêiner (quando a função membro UpdateLink for chamada). Essa opção dá suporte ao botão de opção Atualização manual de link na caixa de diálogo Links.

Comentários

Normalmente, você não deve alterar as opções de atualização escolhidas pelo usuário na caixa de diálogo Links.

Para obter mais informações, confira IOleLink::SetUpdateOptions no SDK do Windows.

COleClientItem::SetPrintDevice

Chame essa função para alterar o dispositivo de destino de impressão para este item.

BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);

Parâmetros

ptd
Ponteiro para uma estrutura de dados DVTARGETDEVICE, que contém informações sobre o novo dispositivo de destino de impressão. Pode ser NULL.

ppd
Ponteiro para uma estrutura de dados PRINTDLG, que contém informações sobre o novo dispositivo de destino de impressão. Pode ser NULL.

Valor de retorno

Diferente de zero se a função foi bem-sucedida, caso contrário, 0.

Comentários

Essa função atualiza o dispositivo de destino de impressão para o item, mas não atualiza o cache de apresentação. Para atualizar o cache de apresentação de um item, chame UpdateLink.

Os argumentos para essa função contêm informações que o sistema OLE usa para identificar o dispositivo de destino. A estrutura PRINTDLG contém informações que o Windows usa para inicializar a caixa de diálogo Imprimir comum. Depois que o usuário fecha a caixa de diálogo, o Windows retorna informações sobre as seleções do usuário nessa estrutura. O membro m_pd de um objeto CPrintDialog é uma estrutura PRINTDLG.

Para obter mais informações sobre essa estrutura, confira PRINTDLG no SDK do Windows.

Para mais informações, confira DVTARGETDEVICE no SDK do Windows.

Chame essa função para atualizar os dados de apresentação do item OLE imediatamente.

BOOL UpdateLink();

Valor de retorno

Diferente de zero em caso de êxito. Caso contrário, 0.

Comentários

Para itens vinculados, a função localiza a origem do link para obter uma nova apresentação para o item OLE. Esse processo pode envolver a execução de um ou mais aplicativos para servidores, o que pode ser demorado. Para itens inseridos, a função opera recursivamente, verificando se o item inserido contém links que podem estar desatualizados e atualizando-os. O usuário também pode atualizar manualmente links individuais usando a caixa de diálogo Links.

Para obter mais informações, confira IOleLink::Update no SDK do Windows.

Confira também

MFCBIND de exemplo do MFC
OCLIENT de exemplo do MFC
Classe CDocItem
Gráfico da hierarquia
Classe COleServerItem