Freigeben über


IOleInPlaceUIWindow::RequestBorderSpace-Methode (oleidl.h)

Bestimmt, ob speicherplatz für Tools verfügbar ist, die im Fensterrahmen des Objekts installiert werden sollen, während das Objekt aktiv ist.

Syntax

HRESULT RequestBorderSpace(
  [in] LPCBORDERWIDTHS pborderwidths
);

Parameter

[in] pborderwidths

Ein Zeiger auf eine BORDERWIDTHS-Struktur , die die angeforderten Breiten (in Pixel) enthält, die auf jeder Seite des Fensters für die Tools erforderlich sind.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
INPLACE_E_NOTOOLSPACE
Das Objekt kann keine Symbolleisten in diesem Fensterobjekt installieren, da die Implementierung keine Symbolleisten unterstützt oder nicht genügend Platz zum Installieren der Symbolleisten vorhanden ist.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.

Hinweise

Hinweise für Anrufer

Das aktive direkte Objekt ruft IOleInPlaceUIWindow::RequestBorderSpace auf, um zu fragen, ob Tools im Fensterrahmen installiert werden können. Diese Tools würden zwischen dem von IOleInPlaceUIWindow::GetBorder zurückgegebenen Rechteck und der im Argument angegebenen BORDERWIDTHS-Struktur für diesen Aufruf zugeordnet.

Der Platz für die Tools wird dem Objekt erst dann zugewiesen, wenn es IOleInPlaceUIWindow::SetBorderSpace aufruft, sodass das Objekt für den Raum aushandeln kann (z. B. beim Ziehen von Symbolleisten), aber das Verschieben von Tools zurückgestellt wird, bis die Aktion abgeschlossen ist.

Das -Objekt kann diese Tools installieren, indem es die Breite in Pixel übergibt, die auf jeder Seite verwendet werden soll. Wenn das Objekt beispielsweise 10 Pixel oben, 0 Pixel unten und 5 Pixel auf der linken und rechten Seite benötigt, würde es die folgende BORDERWIDTHS-Struktur an IOleInPlaceUIWindow::RequestBorderSpace übergeben:

lpbw->top    = 10
lpbw->bottom =  0
lpbw->lLeft  =  5
lpbw->right  =  5
Hinweis Führen Sie beim Ausführen von IOleInPlaceUIWindow::RequestBorderSpace keine Aufrufe der PeekMessage - oder GetMessage-Funktionen oder eines Dialogfelds aus. Dies kann zum Deadlock des Systems führen. Es gibt weitere Einschränkungen, für die OLE-Schnittstellenmethoden und -funktionen innerhalb von IOleInPlaceUIWindow::RequestBorderSpace aufgerufen werden können.
 

Hinweise zu Implementierern

Wenn der Speicherplatz, den ein aktives Objekt für seine Symbolleisten verwendet, für den Container irrelevant ist, kann es einfach NOERROR zurückgeben, wie im folgenden IOleInPlaceUIWindow::RequestBorderSpace-Beispiel gezeigt. Container sollten die Anzeige von Tools durch ein aktives direktes Objekt nicht übermäßig einschränken.
HRESULT InPlaceUIWindow_RequestBorderSpace( 
    IOleInPlaceFrame *  lpThis, 
    LPCBORDERWIDTHS     pborderwidths) 
{ 
    // Container allows the object to have as much border space as it 
    // wants.  
    return NOERROR; 
} 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleidl.h

Weitere Informationen

IOleInPlaceUIWindow

IOleInPlaceUIWindow::GetBorder

IOleInPlaceUIWindow::SetBorderSpace