Classe COlePasteSpecialDialog

Usado para a caixa de diálogo Colar Especial OLE.

Sintaxe

class COlePasteSpecialDialog : public COleDialog

Membros

Construtores públicos

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

Métodos públicos

Nome Descrição
COlePasteSpecialDialog::AddFormat Adiciona formatos personalizados à lista de formatos que seu aplicativo pode colar.
COlePasteSpecialDialog::AddLinkEntry Adiciona uma nova entrada à lista de formatos da Área de Transferência com suporte.
COlePasteSpecialDialog::AddStandardFormats Adiciona CF_BITMAP, CF_DIB, CF_METAFILEPICT e, opcionalmente, CF_LINKSOURCE à lista de formatos que seu aplicativo pode colar.
COlePasteSpecialDialog::CreateItem Cria o item no documento do contêiner usando o formato especificado.
COlePasteSpecialDialog::DoModal Exibe a caixa de diálogo Colar Especial OLE.
COlePasteSpecialDialog::GetDrawAspect Informa se o item deve ser desenhado como um ícone ou não.
COlePasteSpecialDialog::GetIconicMetafile Obtém um identificador para o metarquivo associado à forma icônica deste item.
COlePasteSpecialDialog::GetPasteIndex Obtém o índice das opções de colagem disponíveis escolhidas pelo usuário.
COlePasteSpecialDialog::GetSelectionType Obtém o tipo de seleção escolhido.

Membros de Dados Públicos

Nome Descrição
COlePasteSpecialDialog::m_ps Uma estrutura do tipo OLEUIPASTESPECIAL que controla a função da caixa de diálogo.

Comentários

Crie um objeto da classe COlePasteSpecialDialog quando quiser chamar essa caixa de diálogo. Depois que um objeto COlePasteSpecialDialog for construído, você poderá usar as funções membro AddFormat e AddStandardFormats para adicionar formatos de área de transferência à caixa de diálogo. Você também pode usar a estrutura m_ps para inicializar os valores ou os estados dos controles na caixa de diálogo. A estrutura m_ps é do tipo OLEUIPASTESPECIAL.

Para mais informações, confira a estrutura OLEUIPASTESPECIAL no SDK do Windows.

Para mais informações sobre caixas de diálogo específicas do OLE, confira o artigo Caixas de diálogo no OLE.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COlePasteSpecialDialog

Requisitos

Cabeçalho: afxodlgs.h

COlePasteSpecialDialog::AddFormat

Chame essa função para adicionar novos formatos à lista de formatos que seu aplicativo pode dar suporte em uma operação Colar Especial.

void AddFormat(
    const FORMATETC& formatEtc,
    LPTSTR lpszFormat,
    LPTSTR lpszResult,
    DWORD flags);

void AddFormat(
    UINT cf,
    DWORD tymed,
    UINT nFormatID,
    BOOL bEnableIcon,
    BOOL bLink);

Parâmetros

fmt
Referência ao tipo de dados a ser adicionado.

lpszFormat
Cadeia de caracteres que descreve o formato para o usuário.

lpszResult
Cadeia de caracteres que descreve o resultado caso esse formato seja escolhido na caixa de diálogo.

sinalizadores
As diferentes opções de vinculação e inserção disponíveis para esse formato. Esse sinalizador é uma combinação bit a bit de um ou mais dos valores diferentes no tipo enumerado OLEUIPASTEFLAG.

cf
O formato da área de transferência a ser adicionado.

tymed
Os tipos de mídia disponíveis nesse formato. Essa é uma combinação bit a bit de um ou mais dos valores no tipo enumerado TYMED.

nFormatID
A ID da cadeia de caracteres que identifica esse formato. O formato dessa cadeia de caracteres é duas cadeias de caracteres separadas por um caractere '\n'. A primeira cadeia de caracteres é a mesma que seria passada no parâmetro lpstrFormat e a segunda é a mesma do parâmetro lpstrResult.

bEnableIcon
Sinalizador que determina se a caixa de seleção Exibir como Ícone está habilitada quando esse formato é escolhido na caixa de listagem.

bLink
Sinalizador que determina se o botão de opção Colar Link está habilitado quando esse formato é escolhido na caixa de listagem.

Comentários

Essa função pode ser chamada para adicionar formatos padrão, como CF_TEXT, CF_TIFF ou formatos personalizados que seu aplicativo registrou com o sistema. Para obter mais informações sobre como colar objetos de dados em seu aplicativo, consulte o artigo Objetos de Dados e Fontes de Dados: Manipulação.

Para obter mais informações, consulte o tipo de enumeração TYMED e a estrutura FORMATETC no SDK do Windows.

Para obter mais informações, consulte o tipo enumerado OLEUIPASTEFLAG no SDK do Windows.

COlePasteSpecialDialog::AddLinkEntry

Adiciona uma nova entrada à lista de formatos da Área de Transferência com suporte.

OLEUIPASTEFLAG AddLinkEntry(UINT cf);

Parâmetros

cf
O formato da área de transferência a ser adicionado.

Valor de retorno

Uma estrutura OLEUIPASTEFLAG que contém as informações da nova entrada de link.

COlePasteSpecialDialog::AddStandardFormats

Chame essa função para adicionar os seguintes formatos de Área de Transferência à lista de formatos que seu aplicativo pode dar suporte em uma operação Colar Especial:

void AddStandardFormats(BOOL bEnableLink = TRUE);

Parâmetros

bEnableLink
Sinalizador que determina se é necessário adicionar CF_LINKSOURCE à lista de formatos que seu aplicativo pode colar.

Comentários

  • CF_BITMAP

  • CF_DIB

  • CF_METAFILEPICT

  • "Objeto inserido"

  • (opcionalmente) "Origem do link"

Esses formatos são usados para dar suporte à inserção e à vinculação.

COlePasteSpecialDialog::COlePasteSpecialDialog

Constrói um objeto COlePasteSpecialDialog.

COlePasteSpecialDialog(
    DWORD dwFlags = PSF_SELECTPASTE,
    COleDataObject* pDataObject = NULL,
    CWnd* pParentWnd = NULL);

Parâmetros

dwFlags
O sinalizador de criação contém qualquer número dos seguintes sinalizadores combinados usando o operador bit a bit OR:

  • PSF_SELECTPASTE Especifica que o botão de opção Colar será marcado inicialmente quando a caixa de diálogo for chamada. Não pode ser usado em combinação com PSF_SELECTPASTELINK. Esse é o padrão.

  • PSF_SELECTPASTELINK Especifica que o botão de opção Colar Link será marcado inicialmente quando a caixa de diálogo for chamada. Não pode ser usado em combinação com PSF_SELECTPASTE.

  • PSF_CHECKDISPLAYASICON Especifica que a caixa de seleção Exibir como Ícone será marcada inicialmente quando a caixa de diálogo for chamada.

  • PSF_SHOWHELP Especifica que o botão Ajuda será exibido quando a caixa de diálogo for chamada.

pDataObject
Aponta para o COleDataObject para colar. Se esse valor for NULL, ele obterá o COleDataObject da Área de Transferência.

pParentWnd
Aponta para o objeto de janela pai ou proprietário (do tipo CWnd) ao qual o objeto de caixa de diálogo pertence. Se for NULL, a janela pai da caixa de diálogo será definida como a janela principal do aplicativo.

Comentários

Essa função só constrói um objeto COlePasteSpecialDialog. Para exibir a caixa de diálogo, chame a função DoModal.

Para obter mais informações, consulte o tipo enumerado OLEUIPASTEFLAG no SDK do Windows.

COlePasteSpecialDialog::CreateItem

Cria o novo item que foi escolhido na caixa de diálogo Colar Especial.

BOOL CreateItem(COleClientItem* pNewItem);

Parâmetros

pNewItem
Aponta para uma instância COleClientItem. Não pode ser NULL.

Valor de retorno

Diferente de zero se o item foi criado com êxito; caso contrário, 0.

Comentários

Essa função só deve ser chamada depois que DoModal retornar IDOK.

COlePasteSpecialDialog::DoModal

Exibe a caixa de diálogo Colar Especial OLE.

virtual INT_PTR DoModal();

Valor de retorno

Status de conclusão da caixa de diálogo. Um dos seguintes valores:

  • IDOK se a caixa de diálogo foi exibida com êxito.

  • IDCANCEL se o usuário cancelou a caixa de diálogo.

  • IDABORT se ocorreu um erro. Se IDABORT for retornado, chame a função de membro COleDialog::GetLastError para obter mais informações sobre o tipo de erro que ocorreu. Para uma lista de possíveis erros, confira a função OleUIPasteSpecial no SDK do Windows.

Comentários

Se você quiser inicializar os vários controles da caixa de diálogo definindo membros da estrutura m_ps, faça isso antes de chamar DoModal, mas depois que o objeto de caixa de diálogo for construído.

Se retornar DoModal, você poderá chamar outras funções membro para recuperar as configurações ou a entrada de informações do usuário na caixa de diálogo.

COlePasteSpecialDialog::GetDrawAspect

Determina se o usuário optou por exibir o item selecionado como um ícone.

DVASPECT GetDrawAspect() const;

Valor de retorno

O método necessário para renderizar o objeto.

  • DVASPECT_CONTENT Retornado se a caixa de seleção Exibir como Ícone não foi marcada quando a caixa de diálogo foi ignorada.

  • DVASPECT_ICON Retornado se a caixa de seleção Exibir como Ícone foi marcada quando a caixa de diálogo foi ignorada.

Comentários

Chame essa função somente depois que DoModal retornar IDOK.

Para obter mais informações sobre o aspecto do desenho, confira a estrutura FORMATETC no SDK do Windows.

COlePasteSpecialDialog::GetIconicMetafile

Obtém o metarquivo associado ao item selecionado pelo usuário.

HGLOBAL GetIconicMetafile() const;

Valor de retorno

O identificador para o metarquivo que contém o aspecto icônico do item selecionado se a caixa de seleção Exibir como Ícone foi selecionada quando a caixa de diálogo foi ignorada ao escolher OK; caso contrário, NULL.

COlePasteSpecialDialog::GetPasteIndex

Obtém o valor do índice associado à entrada selecionada pelo usuário.

int GetPasteIndex() const;

Valor de retorno

O índice na matriz de estruturas OLEUIPASTEENTRY que foi selecionado pelo usuário. O formato que corresponde ao índice selecionado deve ser usado ao executar a operação de colagem.

Comentários

Para mais informações, confira a estrutura OLEUIPASTEENTRY no SDK do Windows.

COlePasteSpecialDialog::GetSelectionType

Determina o tipo de seleção que o usuário fez.

UINT GetSelectionType() const;

Valor de retorno

Retorna o tipo de seleção feita.

Comentários

Os valores de tipo retornado são especificados pelo tipo de enumeração Selection declarado na classe COlePasteSpecialDialog.

enum Selection {
    pasteLink,
    pasteNormal,
    pasteOther,
    pasteStatic
    };

Breves descrições desses valores estão a seguir:

  • COlePasteSpecialDialog::pasteLink O botão de opção Colar Link foi marcado e o formato escolhido era um formato OLE padrão.

  • COlePasteSpecialDialog::pasteNormal O botão de opção Colar foi marcado e o formato escolhido era um formato OLE padrão.

  • COlePasteSpecialDialog::pasteOther O formato selecionado não é um formato OLE padrão.

  • COlePasteSpecialDialog::pasteStatic O formato escolhido foi um metarquivo.

COlePasteSpecialDialog::m_ps

Estrutura do tipo OLEUIPASTESPECIAL usado para controlar o comportamento da caixa de diálogo Colar Especial.

OLEUIPASTESPECIAL m_ps;

Comentários

Os membros dessa estrutura podem ser modificados diretamente ou por meio de funções de membro.

Para mais informações, confira a estrutura OLEUIPASTESPECIAL no SDK do Windows.

Confira também

OCLIENT de exemplo do MFC
Classe COleDialog
Gráfico da hierarquia
Classe COleDialog