IAccessible::get_accFocus-Methode (oleacc.h)
Die IAccessible::get_accFocus-Methode ruft das Objekt ab, das über den Tastaturfokus verfügt. Alle Objekte, die möglicherweise den Tastaturfokus erhalten, müssen diese Eigenschaft unterstützen.
Syntax
HRESULT get_accFocus(
[out, retval] VARIANT *pvarChild
);
Parameter
[out, retval] pvarChild
Typ: VARIANT*
Adresse einer VARIANT-Struktur , die Informationen zu dem Objekt empfängt, das den Fokus hat. In der folgenden Tabelle werden die in pvarID zurückgegebenen Informationen beschrieben.
Wert | Bedeutung |
---|---|
|
Keine. Weder dieses Objekt noch eines seiner untergeordneten Elemente verfügt über den Tastaturfokus. |
|
lVal ist CHILDID_SELF. Das Objekt selbst hat den Tastaturfokus. |
|
lVal enthält die untergeordnete ID des untergeordneten Elements, das den Tastaturfokus hat. |
|
pdispVal-Member ist die Adresse der IDispatch-Schnittstelle für das untergeordnete Objekt, das den Tastaturfokus hat. |
Rückgabewert
Typ: HRESULT
Gibt bei Erfolg S_OK zurück.
Wenn dies nicht erfolgreich ist, gibt einen der Werte in der folgenden Tabelle oder einen anderen COM-Standardfehlercode zurück. Server geben diese Werte zurück, aber Clients müssen die Ausgabeparameter immer überprüfen, um sicherzustellen, dass sie gültige Werte enthalten. Weitere Informationen finden Sie unter Überprüfen von IAccessible-Rückgabewerten.
Fehler | BESCHREIBUNG |
---|---|
|
Das Objekt ist ein Fenster, aber nicht das Vordergrundfenster. |
|
Das -Objekt unterstützt diese Eigenschaft nicht. |
Hinweise
Das Konzept des Tastaturfokus hängt mit dem eines aktiven Fensters zusammen. Ein aktives Fenster ist das Vordergrundfenster, in dem der Benutzer arbeitet. Das Objekt mit dem Tastaturfokus ist entweder das aktive Fenster oder ein untergeordnetes Objekt des aktiven Fensters.
Nur ein Objekt oder Element innerhalb eines Containers hat den Fokus gleichzeitig. Das Objekt mit dem Tastaturfokus ist nicht immer das ausgewählte Objekt. Weitere Informationen zum Unterschied zwischen Auswahl und Fokus finden Sie unter Auswahl- und Fokuseigenschaften und -methoden.
Diese Methode gibt entweder einen IDispatch-Schnittstellenzeiger oder eine untergeordnete ID für die pvarID zurück. Weitere Informationen zur Verwendung des IDispatch-Schnittstellenzeigers oder der untergeordneten ID finden Sie unter Verwenden untergeordneter IDs in Parametern.
Wie bei anderen IAccessible-Methoden und -Funktionen erhalten Clients aufgrund einer Benutzeraktion möglicherweise Fehler für IAccessible-Schnittstellenzeiger . Weitere Informationen finden Sie unter Empfangen von Fehlern für IAccessible-Schnittstellenzeiger.
Serverbeispiel
Der folgende Beispielcode zeigt eine mögliche Implementierung dieser Methode für ein benutzerdefiniertes Listenfeld für die Einzelauswahl. Wenn das Steuerelement nicht über den Fokus verfügt, wird VT_EMPTY in der Variante vom standardmäßig zugänglichen Objekt für den HWND zurückgegeben. Wenn das Steuerelement den Fokus hat und ein Element ausgewählt ist, wird die untergeordnete ID dieses Elements zurückgegeben. wenn keine Auswahl vorhanden ist, wird CHILDID_SELF zurückgegeben.
// 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;
};
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleacc.h |
Bibliothek | Oleacc.lib |
DLL | Oleacc.dll |
Verteilbare Komponente | Active Accessibility 1.3 RDK unter Windows NT 4.0 mit SP6 und höher und Windows 95 |