Lingue, Locales e layout di tastiera

Una lingua è una lingua naturale, come l'inglese, francese e giapponese. Un sublanguange è una variante del linguaggio naturale che si parla in una regione geografica specifica, come ad esempio la linguaggi secondari inglese parlato in Gran Bretagna e Stati Uniti. Applicazioni basate su Win32 utilizzano valori, chiamati gli identificatori di lingua, di identificare in modo univoco le lingue e i linguaggi secondari.

Le applicazioni utilizzano in genere locales per impostare la lingua nella quale ingresso e uscita viene elaborato. Impostare le impostazioni internazionali per la tastiera, ad esempio, colpisce i valori dei caratteri generati dalla tastiera. L'impostazione le impostazioni internazionali per la visualizzazione o la stampante colpisce i glifi visualizzati o stampati. Le applicazioni di impostare le impostazioni internazionali per una tastiera caricando e utilizzando il layout di tastiera. Essi impostare le impostazioni internazionali per un display o stampante selezionando un carattere che supporta le impostazioni locali di data.

Un layout di tastiera non solo consente di specificare la posizione fisica dei tasti sulla tastiera, ma determina anche i valori dei caratteri generati premendo i tasti. Ogni layout identifica la lingua di input corrente e determina quali valori di carattere sono generati da quali tasti e le combinazioni di tasti.

Ogni layout di tastiera ha un handle corrispondente che identifica il layout e la lingua. La parola bassa del manico è un identificatore di lingua. La parola alta è un handle del dispositivo, specificando il layout fisico, o è zero, che indica un layout fisico di default. L'utente, qualsiasi lingua di input può essere associato un determinato layout fisico. Ad esempio, un utente di lingua inglese che lavora molto occasionalmente in francese può impostare la lingua di input della tastiera francese senza modificare il layout della tastiera fisico. Questo significa che l'utente può immettere testo in francese utilizzando il layout inglese familiare.

Applicazioni in genere non si prevede di manipolare direttamente lingue di input. Invece, l'utente imposta lingua e layout di combinazioni, quindi passa tra di loro. Quando l'utente fa clic in testo contrassegnato con una lingua diversa, l'applicazione chiama la funzione ActivateKeyboardLayout per attivare il layout predefinito dell'utente per tale lingua. Se l'utente modifica il testo in una lingua che non è presente nell'elenco attivo, l'applicazione può chiamare la funzione di LoadKeyboardLayout con la lingua per ottenere un layout basato su quella lingua.

La funzione ActivateKeyboardLayout imposta la lingua di input per l'attività corrente. Il parametro hkl può essere l'handle per il layout di tastiera o un identificatore di lingua estensione zero. Maniglie di layout di tastiera possono essere ottenute dalla funzione LoadKeyboardLayout o GetKeyboardLayoutList . I valori HKL_NEXT e HKL_PREV possono anche essere utilizzati per selezionare la tastiera precedente o successiva. Alcuni sistemi operativi, il valore KLF_UNLOADPREVIOUS non ha alcun significato e viene ignorato.

La funzione GetKeyboardLayoutName recupera il nome del layout di tastiera attiva per il thread chiamante. Se un'applicazione crea il layout attivo utilizzando la funzione LoadKeyboardLayout , GetKeyboardLayoutName recupera la stessa stringa utilizzata per creare il layout. In caso contrario, la stringa è l'identificatore di lingua primario corrispondenti alle impostazioni locali del layout attivo. Questo significa che la funzione non può necessariamente distinguere tra i diversi layout con la stessa lingua primaria, così non può restituire informazioni specifiche sulla lingua di input. La funzione GetKeyboardLayout , tuttavia, può essere utilizzata per determinare la lingua di input.

La funzione LoadKeyboardLayout carica un layout di tastiera e rende il layout disponibili per l'utente. Le applicazioni possono fare il layout immediatamente attivo per il thread corrente utilizzando il valore KLF_ACTIVATE. Un'applicazione può utilizzare il valore KLF_REORDER per riordinare i layout senza specificare anche il valore KLF_ACTIVATE. Applicazioni devono sempre utilizzare il valore KLF_SUBSTITUTE_OK durante il caricamento dei layout di tastiera per assicurarsi che preferenze dell'utente, se del caso, sia selezionata. Alcuni sistemi operativi, il valore KLF_UNLOADPREVIOUS viene ignorato.

Per il supporto multilingua, la funzione di LoadKeyboardLayout fornisce i flag KLF_REPLACELANG e KLF_NOTELLSHELL. La bandiera KLF_REPLACELANG dirige la funzione di sostituire un layout di tastiera esistente senza cambiare la lingua. Il tentativo di sostituire un layout esistente utilizzando lo stesso identificatore di lingua ma senza KLF_REPLACELANG specificando è un errore. La bandiera KLF_NOTELLSHELL impedisce alla funzione di avvisare la shell quando un layout di tastiera viene aggiunto o sostituito. Questo è utile per le applicazioni che aggiungere più layout in una serie consecutiva di chiamate. Questo flag deve essere utilizzato in tutti, ma l'ultima chiamata.

La funzione UnloadKeyboardLayout è limitata in quanto esso non può scaricare la lingua di input predefinita sistema. Ciò garantisce che l'utente abbia sempre layout disponibile per inserire il testo utilizzando lo stesso carattere impostato come utilizzata dal sistema di shell e il file.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index