ITextServices::TxGetNaturalSize-Methode (textserv.h)

Ermöglicht es, die Größe eines Steuerelements so zu ändern, dass es seinem Inhalt entsprechend entspricht.

Syntax

HRESULT TxGetNaturalSize(
            DWORD          dwAspect,
            HDC            hdcDraw,
            HDC            hicTargetDev,
            DVTARGETDEVICE *ptd,
            DWORD          dwMode,
            const SIZEL    *psizelExtent,
  [in, out] LONG           *pwidth,
  [in, out] LONG           *pheight
);

Parameter

dwAspect

Typ: DWORD

Der Aspekt für die Zeichnung. Es kann sich um einen beliebigen Wert aus der DVASPECT-Enumeration handeln.

hdcDraw

Typ: HDC

Der Gerätekontext, in den zeichnungsvorgangt wird.

hicTargetDev

Typ: HDC

Der Gerätekontext, für den Text formatiert werden soll (d. a. für WYSIWYG).

ptd

Typ: DVTARGETDEVICE*

Weitere Informationen zum Zielgerät.

dwMode

Typ: DWORD

Der Typ der angeforderten Anpassung. Dies kann einer der folgenden Sein:

Wert Bedeutung
TXTNS_EMU
Verwenden Sie englische Metrikeinheiten (EMUs) anstelle von Pixeln als Maßeinheiten für die Parameter dieser Methode.
TXTNS_FITTOCONTENT
Ändern Sie die Größe des Steuerelements, um den gesamten Text anzupassen, indem Sie den Text auf die übergebene Breite formatieren. Das Text services-Objekt gibt die Höhe des gesamten Texts und die Breite der breitesten Zeile zurück.

Dies sollte beispielsweise erfolgen, wenn der Benutzer auf eines der Handles des Steuerelements doppelklicken.

TXTNS_FITTOCONTENT2
Ändern Sie die Größe des Steuerelements, sodass es zu eingerückten Inhalten passt.
TXTNS_FITTOCONTENT3
Ändern Sie die Größe des Steuerelements so, dass es eingerückten Inhalt und nachfolgende Leerzeichen passt.
TXTNS_FITTOCONTENTWSP
Ändern Sie die Größe des Steuerelements so, dass es an nicht eingepferte Inhalte und nachfolgende Leerzeichen passt.
TXTNS_INCLUDELASTLINE
Geben Sie bei einem Nur-Text-Steuerelement die Höhe des endgültigen Wagenrücklaufs an, wenn Sie die Größe berechnen.
TXTNS_ROUNDTOLINE
Ändern Sie die Größe des Steuerelements, um eine integrale Anzahl von Zeilen anzuzeigen (keine Linie ist beschnitten). Formatieren Sie ausreichend Text, um die übergebene Breite und Höhe zu füllen, und geben Sie dann eine Höhe zurück, die auf die nächste Liniengrenze gerundet ist.
Hinweis Die übergebene und zurückgegebene Breite und Höhe entsprechen dem Ansichtsrechteck. Der Host sollte sich nach Bedarf wieder an das Clientrechteck anpassen. Da diese Werte die Ausdehnung des Textobjekts darstellen, werden sie in HIMETRIC-Koordinaten ein- und ausgegeben (jede HIMETRIC-Einheit ist 0,01 Millimeter), und die Messung umfasst keinen Zoomfaktor. Eine Erläuterung des Zoomfaktors finden Sie unter TxGetExtent.
 

psizelExtent

Typ: const SIZEL*

Wird nicht unterstützt.

[in, out] pwidth

Typ: LONG*

Die Breite für die durch dwMode definierte Anpassung.

[in, out] pheight

Typ: LONG*

Die Höhe für die durch dwMode definierte Anpassung.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK.

Wenn Textdienste das Objekt nicht aktivieren konnten, ist der Rückgabewert einer der folgenden HRESULT-Codes . Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung in COM.

Rückgabecode Beschreibung
E_FAIL
Die richtige Größe kann nicht ermittelt werden.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Die ersten vier Parameter ähneln den entsprechenden Parametern in ITextServices::TxDraw und geben dieselben Informationen an. Wenn die Zeilen neu berechnet werden müssen, sollten diese Werte auf die gleiche Weise wie in ITextServices::TxDraw verwendet werden.

Die Parameter pwidth und pheight sind In/Out-Parameter. Der Host übergibt die vorläufige Breite und Höhe der natürlichen Ausdehnung des Textobjekts. Das Textdienstobjekt vergleicht diese Werte mit dem aktuellen zwischengespeicherten Zustand und berechnet die Zeilen neu, falls sie sich unterscheiden. Anschließend wird die natürliche Größe berechnet und zurückgegeben, wie durch dwMode angegeben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile textserv.h
DLL Msftedit.dll

Siehe auch

Konzept

DVTARGETDEVICE

ITextServices

Andere Ressourcen

Referenz

TxDraw

TxGetExtent

Fensterlose Rich-Edit-Steuerelemente