Enumeração OLEMISC (oleidl.h)

Descreve características diversas de um objeto ou classe de objetos. Um contêiner pode chamar o método IOleObject::GetMiscStatus para determinar os bits OLEMISC definidos para um objeto . Os valores especificados na entrada CLSID\MiscStatus de um servidor de objeto no banco de dados de registro são baseados na enumeração OLEMISC . Essas constantes também são usadas no membro dwStatus da estrutura OBJECTDESCRIPTOR .

Syntax

typedef enum tagOLEMISC {
  OLEMISC_RECOMPOSEONRESIZE = 0x1,
  OLEMISC_ONLYICONIC = 0x2,
  OLEMISC_INSERTNOTREPLACE = 0x4,
  OLEMISC_STATIC = 0x8,
  OLEMISC_CANTLINKINSIDE = 0x10,
  OLEMISC_CANLINKBYOLE1 = 0x20,
  OLEMISC_ISLINKOBJECT = 0x40,
  OLEMISC_INSIDEOUT = 0x80,
  OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
  OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
  OLEMISC_INVISIBLEATRUNTIME = 0x400,
  OLEMISC_ALWAYSRUN = 0x800,
  OLEMISC_ACTSLIKEBUTTON = 0x1000,
  OLEMISC_ACTSLIKELABEL = 0x2000,
  OLEMISC_NOUIACTIVATE = 0x4000,
  OLEMISC_ALIGNABLE = 0x8000,
  OLEMISC_SIMPLEFRAME = 0x10000,
  OLEMISC_SETCLIENTSITEFIRST = 0x20000,
  OLEMISC_IMEMODE = 0x40000,
  OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
  OLEMISC_WANTSTOMENUMERGE = 0x100000,
  OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
} OLEMISC;

Constantes

 
OLEMISC_RECOMPOSEONRESIZE
Valor: 0x1
Quando o contêiner redimensiona o espaço alocado para exibir uma das apresentações do objeto, o objeto deseja recomposar a apresentação. Isso significa que, no redimensionamento, o objeto deseja fazer mais do que dimensionar sua imagem. Se esse bit for definido, o contêiner deverá forçar o objeto para o estado em execução e chamar IOleObject::SetExtent com o novo tamanho.
OLEMISC_ONLYICONIC
Valor: 0x2
O objeto não tem nenhuma exibição de conteúdo útil além de seu ícone. Da perspectiva do usuário, a caixa de marcar Ícone Exibir como (na caixa de diálogo Colar Especial) para esse objeto sempre deve ser marcada e não deve ser desmarcada. Observe que esse objeto ainda deve ter um aspecto de conteúdo desenhável; ele terá a mesma aparência que sua exibição de ícone.
OLEMISC_INSERTNOTREPLACE
Valor: 0x4
O objeto foi inicializado a partir dos dados na seleção atual do contêiner. Os contêineres devem examinar esse bit depois de chamar IOleObject::InitFromData para inicializar um objeto da seleção atual. Se definido, o contêiner deverá inserir o objeto ao lado da seleção atual em vez de substituir a seleção atual. Se esse bit não estiver definido, o objeto que está sendo inserido substituirá a seleção atual.
OLEMISC_STATIC
Valor: 0x8
Este objeto é um objeto estático, que é um objeto que contém apenas uma apresentação; ele não contém dados nativos. Consulte OleCreateStaticFromData.
OLEMISC_CANTLINKINSIDE
Valor: 0x10
Esse objeto não pode ser a origem do link que, quando associado a ativa (executa) o objeto . Se o objeto for selecionado e copiado para a área de transferência, o contêiner do objeto poderá oferecer um link em uma transferência de dados da área de transferência que, quando associada, deve se conectar à parte externa do objeto. O usuário veria o objeto selecionado em seu contêiner, não aberto para edição. Em vez de fazer isso, o contêiner pode simplesmente se recusar a oferecer uma fonte de link ao transferir objetos com esse conjunto de bits. Exemplos de objetos que têm esse conjunto de bits incluem objetos OLE1, objetos estáticos e links.
OLEMISC_CANLINKBYOLE1
Valor: 0x20
Esse objeto pode ser vinculado por contêineres OLE 1. Esse bit é usado no membro dwStatus da estrutura OBJECTDESCRIPTOR transferida com os formatos Object e Link Source Descriptor. Um objeto poderá ser vinculado por contêineres OLE 1 se for um documento sem título, um arquivo ou uma seleção de dados em um arquivo. Objetos inseridos ou pseudoobjetos contidos em um objeto inserido não podem ser vinculados por contêineres OLE 1 (ou seja, contêineres OLE 1 não podem vincular a fontes de link que, quando associadas, exigem a execução de mais de um servidor de objetos.
OLEMISC_ISLINKOBJECT
Valor: 0x40
Este objeto é um objeto de link. Esse bit é significativo para o OLE 1 e é definido pelo objeto de link OLE 2; aplicativos de objeto não precisam definir esse bit.
OLEMISC_INSIDEOUT
Valor: 0x80
Esse objeto é capaz de ativar no local, sem a necessidade de instalação de menus e barras de ferramentas para execução. Vários desses objetos podem estar ativos simultaneamente. Alguns contêineres, como formulários, podem optar por ativar esses objetos automaticamente.
OLEMISC_ACTIVATEWHENVISIBLE
Valor: 0x100
Esse bit é definido somente quando OLEMISC_INSIDEOUT está definido e indica que esse objeto prefere ser ativado sempre que estiver visível. Alguns contêineres sempre podem ignorar essa dica.
OLEMISC_RENDERINGISDEVICEINDEPENDENT
Valor: 0x200
Esse objeto não presta atenção aos dispositivos de destino. Seus dados de apresentação serão os mesmos em todos os casos.
OLEMISC_INVISIBLEATRUNTIME
Valor: 0x400
Esse valor é usado com controles. Indica que o controle não tem interface do usuário em tempo de execução, mas que deve estar visível em tempo de design. Por exemplo, um controle de temporizador que dispara um evento específico periodicamente não se mostraria em tempo de execução, mas precisa de uma interface do usuário em tempo de design para que um designer de formulário possa definir o período de evento e outras propriedades.
OLEMISC_ALWAYSRUN
Valor: 0x800
Esse valor é usado com controles. Ele informa ao contêiner que esse controle sempre deseja estar em execução. Como resultado, o contêiner deve chamar OleRun ao carregar ou criar o objeto.
OLEMISC_ACTSLIKEBUTTON
Valor: 0x1000
Esse valor é usado com controles. Ele indica que o controle é semelhante a um botão, pois entende e obedece à propriedade de ambiente DisplayAsDefault do contêiner.
OLEMISC_ACTSLIKELABEL
Valor: 0x2000
Esse valor é usado com controles. Ele marca o controle como um rótulo para qualquer controle que venha depois dele na ordenação do formulário. Pressionar uma tecla mnemônica para um controle de rótulo ativa o controle após ele.
OLEMISC_NOUIACTIVATE
Valor: 0x4000
Esse valor é usado com controles. Indica que o controle não tem nenhum estado ativo da interface do usuário, o que significa que ele não requer ferramentas in-loco, nenhum menu compartilhado e nenhum acelerador. Isso também significa que o controle nunca precisa do foco.
OLEMISC_ALIGNABLE
Valor: 0x8000
Esse valor é usado com controles. Ele indica que o controle entende como se alinhar dentro de seu retângulo de exibição, de acordo com propriedades de alinhamento, como esquerda, centro e direita.
OLEMISC_SIMPLEFRAME
Valor: 0x10000
Esse valor é usado com controles. Isso indica que o controle é um agrupamento simples de outros controles e faz pouco mais do que passar mensagens do Windows para o contêiner de controle que gerencia o formulário. Os controles desse tipo exigem a implementação de ISimpleFrameSite no site do contêiner.
OLEMISC_SETCLIENTSITEFIRST
Valor: 0x20000
Esse valor é usado com controles. Ele indica que o controle deseja usar IOleObject::SetClientSite como sua função de inicialização, mesmo antes de uma chamada como IPersistStreamInit::InitNew ou IPersistStorage::InitNew. Isso permite que o controle acesse as propriedades de ambiente de um contêiner antes de carregar informações do armazenamento persistente. Observe que as implementações atuais de OleCreate, OleCreateFromData, OleCreateFromFile, OleLoad e o manipulador padrão não entendem esse valor. Os contêineres de controle que desejam honrar esse valor devem implementar atualmente suas próprias versões dessas funções para estabelecer a sequência de inicialização correta para o controle.
OLEMISC_IMEMODE
Valor: 0x40000
Obsoleto. Um controle que funciona com um componente do sistema IME (Editor de Método de Entrada) pode controlar o estado do IME por meio da propriedade IMEMode em vez de usar esse valor na enumeração OLEMISC. Você pode usar um componente IME para inserir informações em conjuntos de caracteres asiáticos com um teclado normal. Um IME japonês, por exemplo, permite digitar uma palavra como "sushi", em um teclado normal e, quando você atinge a barra de espaços, o componente IME converte essa palavra em kanji apropriado ou propõe possíveis opções. O valor OLEMISC_IMEMODE foi usado anteriormente para marcar um controle como capaz de controlar um componente do sistema de modo IME.
OLEMISC_IGNOREACTIVATEWHENVISIBLE
Valor: 0x80000
Para que novos controles ActiveX funcionem em um contêiner mais antigo, talvez seja necessário ter o valor OLEMISC_ACTIVATEWHENVISIBLE definido. No entanto, em um contêiner mais recente que entende e usa IPointerInactive, o controle não deseja ser ativado no local quando se torna visível. Para permitir que o controle funcione em ambos os tipos de contêineres, o controle pode definir esse valor. Em seguida, o contêiner ignora OLEMISC_ACTIVATEWHENVISIBLE e não ativa o controle in-loco quando ele se torna visível.
OLEMISC_WANTSTOMENUMERGE
Valor: 0x100000
Um controle que pode mesclar seu menu com seu contêiner define esse valor.
OLEMISC_SUPPORTSMULTILEVELUNDO
Valor: 0x200000
Um controle que dá suporte a desfazer de vários níveis define esse valor.

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]
Cabeçalho oleidl.h

Confira também

IOleObject::GetMiscStatus

OBJECTDESCRIPTOR