Metodo IAccessible::get_accFocus (oleacc.h)
Il metodo IAccessible::get_accFocus recupera l'oggetto con lo stato attivo della tastiera. Tutti gli oggetti che possono ricevere lo stato attivo della tastiera devono supportare questa proprietà.
Sintassi
HRESULT get_accFocus(
[out, retval] VARIANT *pvarChild
);
Parametri
[out, retval] pvarChild
Tipo: VARIANT*
Indirizzo di una struttura VARIANT che riceve informazioni sull'oggetto con lo stato attivo. Nella tabella seguente vengono descritte le informazioni restituite in pvarID.
Valore | Significato |
---|---|
|
Nessuno. Né questo oggetto né i relativi figli hanno lo stato attivo della tastiera. |
|
lVal è CHILDID_SELF. L'oggetto stesso ha lo stato attivo della tastiera. |
|
lVal contiene l'ID figlio dell'elemento figlio con lo stato attivo della tastiera. |
|
Il membro pdispVal è l'indirizzo dell'interfaccia IDispatch per l'oggetto figlio con lo stato attivo della tastiera. |
Valore restituito
Tipo: HRESULT
Se ha esito positivo, restituisce S_OK.
In caso contrario, restituisce uno dei valori della tabella che segue o un altro codice di errore COM standard. I server restituiscono questi valori, ma i client devono sempre controllare i parametri di output per assicurarsi che contengano valori validi. Per altre informazioni, vedere Controllo dei valori restituiti IAccessible.
Errore | Descrizione |
---|---|
|
L'oggetto è una finestra ma non la finestra in primo piano. |
|
L'oggetto non supporta questa proprietà. |
Commenti
Il concetto di stato attivo della tastiera è correlato a quello di una finestra attiva. Una finestra attiva è la finestra in primo piano in cui l'utente funziona. L'oggetto con lo stato attivo della tastiera è la finestra attiva o un oggetto figlio della finestra attiva.
Solo un oggetto o un elemento all'interno di un contenitore ha lo stato attivo in qualsiasi momento. L'oggetto con lo stato attivo della tastiera non è sempre l'oggetto selezionato. Per altre informazioni sulla differenza tra selezione e stato attivo, vedere Proprietà e metodi di selezione e messa a fuoco.
Questo metodo restituisce un puntatore all'interfaccia IDispatch o un ID figlio per pvarID. Per altre informazioni su come usare il puntatore all'interfaccia IDispatch o l'ID figlio, vedere Modalità di utilizzo degli ID figlio nei parametri.
Come con altri metodi e funzioni IAccessible , i client potrebbero ricevere errori per i puntatori di interfaccia IAccessible a causa di un'azione dell'utente. Per altre informazioni, vedere Ricezione di errori per puntatori di interfaccia IAccessible.
Esempio di server
Il codice di esempio seguente mostra una possibile implementazione di questo metodo per una casella di riepilogo personalizzata a selezione singola. Se il controllo non ha lo stato attivo, VT_EMPTY viene restituito nella variante dall'oggetto accessibile standard per HWND. Se il controllo ha lo stato attivo e viene selezionato un elemento, viene restituito l'ID figlio di tale elemento; se non è presente alcuna selezione, viene restituito CHILDID_SELF.
// m_pControl is the control object that is served by this implementation.
// m_pStdAccessibleObject is the object returned by CreateStdAccessibleObject.
HRESULT STDMETHODCALLTYPE AccServer::get_accFocus(VARIANT *pvarChild)
{
FAIL_IF_NO_CONTROL; // Macro that checks for existence of control.
HRESULT hr = m_pStdAccessibleObject->get_accFocus(pvarChild);
if (pvarChild->vt != VT_I4)
{
return hr;
}
else
{
int index = m_pControl->GetSelectedIndex();
if (index <0)
{
pvarChild->lVal = CHILDID_SELF;
}
else
{
// Convert to 1-based index for child ID.
pvarChild->lVal = index + 1;
}
}
return S_OK;
};
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | oleacc.h |
Libreria | Oleacc.lib |
DLL | Oleacc.dll |
Componente ridistribuibile | Accessibilità attiva 1.3 RDK in Windows NT 4.0 con SP6 e versioni successive e Windows 95 |