Funzione RemoveFontResourceA (wingdi.h)
La funzione RemoveFontResource
Se il tipo di carattere è stato aggiunto utilizzando la funzione addFontResourceEx
Sintassi
BOOL RemoveFontResourceA(
[in] LPCSTR lpFileName
);
Parametri
[in] lpFileName
Puntatore a una stringa con terminazione Null che assegna un nome a un file di risorse del tipo di carattere.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero.
Osservazioni
Se un'app aggiunge o rimuove i tipi di carattere dalla tabella dei tipi di carattere di sistema, è consigliabile inviare un messaggio di WM_FONTCHANGE a tutte le finestre di primo livello del sistema. L'app invia questo messaggio chiamando la funzione SendMessage
Se sono presenti riferimenti in sospeso a un tipo di carattere, la risorsa associata rimane caricata fino a quando non viene usato alcun contesto di dispositivo. Inoltre, se il tipo di carattere è elencato nel Registro di sistema dei tipi di carattere (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) e viene installato in qualsiasi posizione diversa dalla cartella %windir%\fonts\, potrebbe essere caricato in altre sessioni attive (inclusa la sessione 0).
Quando si tenta di sostituire un file di tipo di carattere esistente che contiene un tipo di carattere con riferimenti in sospeso, è possibile che venga visualizzato un errore che indica che il tipo di carattere originale non può essere eliminato perché è in uso anche dopo aver chiamato RemoveFontResource. Se l'app richiede che il file di tipo di carattere venga sostituito, per ridurre il numero di risorse del tipo di carattere originale a zero, chiamare RemoveFontResource in un ciclo come illustrato in questo codice di esempio. Se si continuano a ricevere errori, si tratta di un'indicazione che il file di tipo di carattere rimane caricato in altre sessioni. Assicurarsi che il tipo di carattere non sia elencato nel Registro di sistema dei tipi di carattere e riavviare il sistema per assicurarsi che il tipo di carattere venga scaricato da tutte le sessioni.
int i = 0;
while( RemoveFontResource( FontFile ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResource( FontFile );
}
Nota
L'intestazione wingdi.h definisce RemoveFontResource come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
wingdi.h (include Windows.h) |
libreria |
Gdi32.lib |
dll | Gdi32.dll |
Vedere anche
funzioni di tipo carattere e testo
panoramica tipi di carattere e testo