Compartilhar via


Método IAccessible::get_accSelection (oleacc.h)

O método IAccessible::get_accSelection recupera os filhos selecionados desse objeto. Todos os objetos que dão suporte à seleção devem dar suporte a essa propriedade.

Sintaxe

HRESULT get_accSelection(
  [out, retval] VARIANT *pvarChildren
);

Parâmetros

[out, retval] pvarChildren

Tipo: VARIANT*

Endereço de uma estrutura VARIANT que recebe informações sobre quais filhos estão selecionados. A tabela a seguir descreve as informações retornadas em pvarChildren.

membro vt Membro value
VT_EMPTY
Nenhum filho está selecionado.
VT_DISPATCH
Um objeto filho é selecionado e o endereço de sua interface IDispatch é definido no membro pdispVal .
VT_I4
lVal contém a ID filho do elemento filho selecionado. Se lVal for CHILDID_SELF, isso significa que o próprio objeto está selecionado.
VT_UNKNOWN
Vários objetos filho são selecionados e o membro punkVal contém o endereço da interface IUnknown . O cliente consulta essa interface para a interface IEnumVARIANT , que ela usa para enumerar os objetos selecionados.

Retornar valor

Tipo: HRESULT

Se for bem-sucedido, retornará S_OK.

Se não for bem-sucedido, retornará um dos valores na tabela a seguir ou outro código de erro COM padrão. Os servidores retornam esses valores, mas os clientes devem sempre marcar parâmetros de saída para garantir que eles contenham valores válidos. Para obter mais informações, consulte Verificando valores retornados IAccessible.

Erro Descrição
DISP_E_MEMBERNOTFOUND
O objeto não dá suporte a essa propriedade.

Comentários

Esse método deve dar suporte à interface IEnumVARIANT .

Esse método retorna um ponteiro de interface IDispatch ou uma ID filho para o parâmetro pvarChildren . Para obter mais informações sobre como usar o ponteiro da interface IDispatch ou a ID filho, consulte Como as IDs filho são usadas em parâmetros.

Assim como acontece com outros métodos e funções IAccessible , os clientes podem receber erros para ponteiros de interface IAccessible devido a uma ação do usuário. Para obter mais informações, consulte Recebendo erros para ponteiros de interface IAccessible.

Nota: Esse método recupera um item selecionado, não um texto selecionado.

Exemplo de servidor

O código de exemplo a seguir mostra uma possível implementação desse método para uma caixa de listagem de seleção única personalizada. Seu método GetSelectedIndex retornará -1 se nenhum item for selecionado.

// m_pControl is the control that returns this accessible object. 

HRESULT STDMETHODCALLTYPE AccServer::get_accSelection(VARIANT *pvarChildren)
{
    int childID = m_pControl->GetSelectedIndex() + 1; // Convert from 0-based. 
    if (childID <= 0)
    {
        pvarChildren->vt = VT_EMPTY;
    }
    else 
    {
        pvarChildren->vt = VT_I4;
        pvarChildren->lVal = childID;
    }
    return S_OK;
};




Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleacc.h
Biblioteca Oleacc.lib
DLL Oleacc.dll
Redistribuível Active Accessibility 1.3 RDK no Windows NT 4.0 com SP6 e posterior e Windows 95

Confira também

Iaccessible

IAccessible::accSelect

IAccessible::get_accFocus

IDispatch

Propriedades e métodos de seleção e foco

VARIANT