IOleInPlaceSiteWindowless::SetFocus-Methode (ocidl.h)
Legt den Tastaturfokus für UI-aktives, fensterloses Objekt fest.
Syntax
HRESULT SetFocus(
[in] BOOL fFocus
);
Parameter
[in] fFocus
Bei TRUE wird der Tastaturfokus auf das aufrufende Objekt festgelegt. Wenn FALSE, entfernt den Tastaturfokus aus dem aufrufenden Objekt, vorausgesetzt, das Objekt hat den Fokus.
Rückgabewert
Diese Methode gibt S_OK zurück, wenn der Tastaturfokus erfolgreich dem -Objekt zugewiesen wurde. Wenn diese Methode aufgerufen wird, um den Fokus freizugeben, sollte sie nie fehlschlagen. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Tastaturfokus wurde dem Objekt verweigert. |
Hinweise
Ein fensterloses Objekt ruft diese Methode immer dann auf, wenn ein Objekt mit Fenstern die SetFocus-Funktion aufrufen würde. Durch diesen Aufruf erhält das fensterlose Objekt den Tastaturfokus und kann auf Fenstermeldungen reagieren. Normalerweise erfolgt dieser Aufruf während der Ui-Aktivierung und innerhalb der Benachrichtigungsmethoden IOleInPlaceActiveObject::OnDocWindowActivate mit TRUE und IOleInPlaceActiveObject::OnFrameWindowActivate mit TRUE.
Als Reaktion auf diesen Aufruf legt der Container den Windows-Fokus auf das Fenster fest, das zum Abrufen von Tastaturnachrichten (normalerweise das Containerfenster) verwendet wird, und leitet alle nachfolgenden Tastaturnachrichten an das fensterlose Objekt um, das den Fokus angefordert hat.
Ein fensterloses Objekt ruft auch die IOleInPlaceSiteWindowless::SetFocus-Methode auf, wobei der fFocus-Parameter auf FALSE festgelegt ist, um den Tastaturfokus freizugeben, ohne ihn einem anderen Objekt zuzuweisen. In diesem Fall muss der Container die SetFocus-Funktion mit einem NULL-Parameter aufrufen, sodass kein Fenster den Fokus hat.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ocidl.h |