INFORMAZIONI: Calcolo extent di testo del testo in grassetto e corsivo

Traduzione articoli Traduzione articoli
Identificativo articolo: 74298 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

Sommario

GetTextExtent() può essere utilizzato per calcolare l'estensione di una stringa. Il valore restituito potrebbe essere necessario verranno rettificati, a seconda dello stile del tipo di carattere. Quando viene richiesto un tipo di carattere corsivo o grassetto non è disponibile alcun, GDI (Graphics Device Interface) possono simulare tali stili utilizzando un raster esistente o di un tipo di carattere vettoriali.

Informazioni

Tipi di simulato in GDI in grassetto e corsivo carattere entrambe includere overhangs. La sporgenza è specificato in una struttura TEXTMETRIC ottenuta chiamando la funzione GetTextMetrics . Di seguito è riportato il metodo appropriato per il calcolo l'estensione di una riga di testo in corsivo o grassetto:
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
elencate di sotto di sono esempi di allineamento del testo in corsivo. Se il carattere successivo non è corsivo, la sporgenza non deve essere sottratto da restituito dalla funzione GetTextExtent la larghezza di avanzamento. La sporgenza deve essere sottratto solo quando al successivo per il carattere di allineamento del testo con lo stesso stile.
                                        GetTextExtent yields
                                        this as the extent:

                                              ||
       /   /                                  \/ 
      /   /           /   / /   /         /   /|   |
     /---/           /   / /   /         /   / |   |
    /   /           /---/ /---/         /---/  |---|
   /   /           /   / /   /         /   /   |   |
       -----      /   / /   /         /   /    |   |
         ^            /\                      /\ 
      Overhang        ||                      ||
               Because the next        Start the nonitalic H
               character is italic,    here because it does not
               start the next          slant and would partially
               character within the    overwrite the previous
               overhang of the         italic character.
               current character
				
la sporgenza per caratteri in grassetto sintetizzati mediante GDI è in genere 1 poiché GDI sintetizza i tipi di carattere in grassetto l'output il testo due volte, contropartita l'output di secondo di un pixel, in modo efficace aumentare la larghezza di ogni carattere di un pixel. Calcolare la larghezza di avanzamento del testo in grassetto è simile al metodo di testo in corsivo. La funzione GetTextExtent restituisce sempre l'estensione del testo più 1 per il testo in grassetto. Sottraendo il tmOverhang(1), pertanto viene ottenuta l'avanzamento corretto.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Nota : questo articolo si applica solo a raster e Vectory caratteri. La famiglia di GetTextExtent() di larghezze di avanzamento restituiscono sempre di funzioni di stringhe per i caratteri TrueType come descritto dalla struttura di larghezze ABC. Per ulteriori informazioni su larghezze di avanzamento ABC, vedere la documentazione di funzione di GetCharABCWidths() .

Proprietà

Identificativo articolo: 74298 - Ultima modifica: mercoledì 26 febbraio 2014 - Revisione: 3.2
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface alle seguenti piattaforme
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Chiavi: 
kbnosurvey kbarchive kbmt kbinfo KB74298 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 74298
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com