Condividi tramite


Metodo ITextServices::TxGetNaturalSize (textserv.h)

Consente di ridimensionare un controllo in modo da adattarne il contenuto in modo appropriato.

Sintassi

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

Parametri

dwAspect

Tipo: DWORD

Aspetto del disegno. Può essere uno dei valori dell'enumerazione DVASPECT .

hdcDraw

Tipo: HDC

Contesto del dispositivo in cui si verifica il disegno.

hicTargetDev

Tipo: HDC

Contesto del dispositivo per il quale il testo deve essere formattato, ovvero per WYSIWYG.

ptd

Tipo: DVTARGETDEVICE*

Altre informazioni sul dispositivo di destinazione.

dwMode

Tipo: DWORD

Tipo di montaggio richiesto. Può essere uno dei seguenti.

Valore Significato
TXTNS_EMU
Usare le unità metriche inglesi anziché i pixel come unità di misurazione per i parametri di questo metodo.
TXTNS_FITTOCONTENT
Ridimensionare il controllo per adattare l'intero testo formattato alla larghezza passata. L'oggetto servizi di testo restituisce l'altezza dell'intero testo e la larghezza della riga più ampia.

Ad esempio, questa operazione deve essere eseguita quando l'utente fa doppio clic su uno degli handle del controllo.

TXTNS_FITTOCONTENT2
Ridimensionare il controllo in modo che corrisponda al contenuto rientro.
TXTNS_FITTOCONTENT3
Ridimensionare il controllo in modo da adattare contenuto rientro e spazi vuoti finali.
TXTNS_FITTOCONTENTWSP
Ridimensionare il controllo in modo da adattare contenuto non rientro e spazi vuoti finali.
TXTNS_INCLUDELASTLINE
Per un controllo testo normale, includere l'altezza del ritorno a capo finale quando si calcolano le dimensioni.
TXTNS_ROUNDTOLINE
Ridimensionare il controllo per visualizzare un numero integrale di righe (nessuna riga viene ritagliata). Formattare un testo sufficiente per riempire la larghezza e l'altezza passata e quindi restituire un'altezza arrotondata al limite di riga più vicino.
Nota La larghezza e l'altezza passati e restituiti corrispondono al rettangolo di visualizzazione. L'host deve tornare al rettangolo client in base alle esigenze. Poiché questi valori rappresentano l'estensione dell'oggetto testo, sono input e output nelle coordinate HIMETRIC (ogni unità HIMETRIC è 01 millimetri) e la misurazione non include alcun fattore di zoom. Per una discussione sul fattore di zoom, vedere TxGetExtent.
 

psizelExtent

Tipo: const SIZEL*

Non supportato.

[in, out] pwidth

Tipo: LONG*

Larghezza del montaggio definita da dwMode.

[in, out] pheight

Tipo: LONG*

Altezza dell'adattamento definito da dwMode.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è S_OK.

Se i servizi di testo non è stato possibile attivare l'oggetto, il valore restituito è uno dei codici HRESULT seguenti. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori in COM.

Codice restituito Descrizione
E_FAIL
Impossibile determinare le dimensioni corrette.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

I primi quattro parametri sono simili ai parametri equivalenti in ITextServices::TxDraw e forniscono le stesse informazioni. Nel caso in cui le righe devono essere ricalcolate, questi valori devono essere usati nello stesso modo di ITextServices::TxDraw.

I parametri pwidth e pheight sono parametri in/out. L'host passa nella larghezza provvisoria e l'altezza dell'estensione naturale dell'oggetto di testo. L'oggetto servizi di testo confronta questi valori rispetto allo stato memorizzato nella cache corrente e, se diverso, ricalcolate le righe. Calcola quindi e restituisce le dimensioni naturali, come specificato da dwMode.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione textserv.h
DLL Msftedit.dll

Vedi anche

Informazioni concettuali

DVTARGETDEVICE

ITextServices

Altre risorse

Riferimento

TxDraw

TxGetExtent

Controlli di modifica avanzati senza finestre