Come calcolare l'unitÓ base di finestra di dialogo con carattere del non basati su sistema

Traduzione articoli Traduzione articoli
Identificativo articolo: 125681 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

In questo articolo viene illustrato come calcolare l'unitÓ di base di finestra di dialogo per la finestra di dialogo utilizzando un tipo di carattere diverso dal carattere di sistema in Windows 95. ╚ possibile utilizzare questo calcolo per creare modelli di finestra di finestre di dialogo in memoria o calcolare le dimensioni di finestra di dialogo casella.

Informazioni

Ogni modello di finestra di dialogo casella contiene le misure che specificano la posizione, larghezza e altezza della finestra di dialogo e i controlli che contiene. Queste misure sono indipendenti dal dispositivo, un'applicazione che consente un unico modello di creare la stessa finestra di dialogo per tutti i tipi di periferiche di visualizzazione. Questo assicura che una finestra di dialogo le stesse proporzioni e l'aspetto su schermi di tutti i nonostante diverse risoluzioni e proporzioni tra le schermate.

Inoltre, le misure di casella finestra di dialogo vengono fornite in unitÓ di base di finestra di dialogo. Un'unitÓ di base orizzontale Ŕ uguale a un quarto della larghezza del carattere medio per il tipo di carattere del sistema. Un'unitÓ di base verticale Ŕ uguale a un ottavo dell'altezza media del carattere per il tipo di carattere del sistema. Un'applicazione pu˛ recuperare il numero di pixel per unitÓ di base per la visualizzazione corrente utilizzando la funzione GetDialogBaseUnits. La parola di ordine inferiore del valore restituito dalla funzione GetDialogBaseUnits, contiene le unitÓ di base orizzontale e il word significativa del valore restituito dalla funzione GetDialogBaseUnits, contiene le unitÓ di base verticale.

Utilizzando queste informazioni, Ŕ possibile calcolare le unitÓ di base di finestra di dialogo per una finestra di dialogo utilizza tipo di carattere diverso dal tipo di carattere di sistema:
horz pixels == 2 * horz dialog units * (average char width  of dialog font
                        / average char width of system font)
vert pixels == 2 * vert dialog units * (average char height of dialog font
                        / average char height of system font)
				
come il tipo di carattere di una finestra di dialogo casella Cambia, la dimensione effettiva e la posizione di un controllo modificato anche.

Una unitÓ di base casella finestra di dialogo Ŕ equivalente al numero di pixel per unitÓ casella della finestra di dialogo nel modo seguente:
1 horz dialog base unit == (2 * average char width  dialog font / 
                                average char width  system font) pixels
1 vert dialog base unit == (2 * average char height dialog font / 
                                average char height system font) pixels
				
larghezza di carattere Media e l'altezza di un tipo di carattere pu˛ essere calcolati come segue:
hFontOld = SelectObject(hdc,hFont);
GetTextMetrics(hdc,&tm);
GetTextExtentPoint32(hdc,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst"
            "uvwxyz",52,&size);
avgWidth = (size.cx/26+1)/2;
avgHeight = (WORD)tm.tmHeight;
				
il campo tmAveCharWidth della struttura TEXTMETRIC solo un'approssimazione la larghezza del carattere medio effettivo (in genere consente la larghezza della lettera "x") e pertanto deve essere calcolata la larghezza del carattere medio true affinchÚ corrisponda al valore utilizzato dal sistema.

╚ possibile utilizzare la funzione MapDialogRect per convertire la finestra di dialogo casella unitÓ di misura in pixel, ma vi Ŕ alcuna funzione che convertirÓ pixel in unitÓ della casella finestra di dialogo. ╚ possibile utilizzare le formule illustrate di seguito per eseguire questa conversione.

Riferimenti

Per ulteriori informazioni su questo argomento, vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
145994Come calcolare l'unitÓ della finestra di dialogo quando non si utilizza il carattere di sistema

ProprietÓ

Identificativo articolo: 125681 - Ultima modifica: lunedý 11 luglio 2005 - Revisione: 2.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Platform Software Development Kit-edizione gennaio 2000áalle seguenti piattaforme
    • Microsoft Windows 95
    • the operating system: Microsoft Windows 2000
Chiavi:á
kbmt kbdlg kbhowto KB125681 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: 125681
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