Talen, landinstellingen en toetsenbordindelingen

Een taal is een natuurlijke taal, zoals Engels, Frans en Japans. Een sublanguange is een variant van een natuurlijke taal die wordt gesproken in een bepaalde geografische regio, zoals de Engelse sublanguages gesproken in Groot-Brittannië en de Verenigde Staten. Win32-toepassingen gebruiken waarden, genaamd taal-id's, om te identificeren talen en sublanguages.

Toepassingen gebruiken meestal Landinstellingen de taal instellen in welke input en output is verwerkt. Instelling de landinstellingen voor het toetsenbord, bijvoorbeeld, heeft invloed op de tekenwaarden gegenereerd door het toetsenbord. De landinstellingen voor de weergave of de printer instelling heeft invloed op de glyphs weergegeven of afgedrukt. Toepassingen die de landinstelling voor een toetsenbord laden en het gebruik van toetsenbordindelingen. Zij instellen de landinstelling voor een beeldscherm of printer door het selecteren van een lettertype dat de gegeven locale ondersteunt.

Een toetsenbordindeling niet alleen de fysieke positie aangeeft van de toetsen op het toetsenbord, maar bepaalt ook de tekenwaarden gegenereerd door op die toetsen te drukken. Elke lay-out identificeert de huidige invoertaal en bepaalt welke tekenwaarden worden gegenereerd door welke toetsen en toetsencombinaties.

Elke toetsenbordindeling heeft een overeenkomstige handvat waarmee de lay-out en de taal. De lage "word" van de ingang is een taal-id. Het hoge woord is een apparaatverwijzing, vermelding van de fysieke indeling, of is nul, die een standaard fysieke lay-out aangeeft. De gebruiker kan elke invoertaal koppelen aan een bepaalde fysieke lay-out. Een Engels-sprekende gebruiker die heel af en toe in het Frans werkt kan bijvoorbeeld de invoertaal van het toetsenbord ingesteld op Frans zonder de fysieke indeling van het toetsenbord wijzigen. Dit betekent dat de gebruiker kan tekst invoeren in het Frans met de bekende Engelse-indeling.

Toepassingen in het algemeen niet naar verwachting invoertalen rechtstreeks manipuleren. In plaats daarvan, de gebruiker stelt taal en de indeling combinaties, dan schakelt onder hen. Wanneer de gebruiker in tekst die is gemarkeerd met een andere taal klikt, roept de toepassing de functie ActivateKeyboardLayout om te activeren van de gebruiker standaard lay-out voor die taal. Als de gebruiker tekst in een taal die niet in de actieve lijst bewerkt, kunt de toepassing de functie LoadKeyboardLayout met de taal om een lay-out op basis van die taal bellen.

De functie ActivateKeyboardLayout stelt de invoertaal voor de huidige taak. De parameter hkl kunnen ofwel de greep op de toetsenbordindeling of een nul-uitgebreid taal-id. Toetsenbord lay-out grepen kunnen worden verkregen van de functie LoadKeyboardLayout of GetKeyboardLayoutList . De waarden HKL_NEXT en HKL_PREV kunnen ook worden gebruikt om de volgende of vorige toetsenbord. Voor sommige besturingssystemen, de waarde KLF_UNLOADPREVIOUS heeft geen betekenis en wordt genegeerd.

De functie GetKeyboardLayoutName de naam van de actieve toetsenbordindeling voor de aanroepende thread opgehaald. Als een toepassing wordt gemaakt van de actieve lay-out met de LoadKeyboardLayout functie, haalt GetKeyboardLayoutName dezelfde string gebruikt voor het maken van de lay-out. De tekenreeks is anders, de primaire taal-id die overeenkomt met de landinstelling van de actieve lay-out. Dit betekent dat de functie kan geen noodzakelijk onderscheid maken tussen verschillende lay-outs met dezelfde primaire taal, kan dus specifieke informatie over de invoertaal geven. De GetKeyboardLayout functie, echter, kan worden gebruikt om te bepalen van de invoertaal.

De functie LoadKeyboardLayout een toetsenbordindeling ladingen en de lay-out beschikbaar maakt voor de gebruiker. Toepassingen kunnen de lay-out met behulp van de KLF_ACTIVATE waarde onmiddellijk actief voor de huidige thread maken. Een toepassing kan de KLF_REORDER-waarde gebruiken om de volgorde van de indelingen zonder ook de KLF_ACTIVATE waarde. Toepassingen moeten altijd via de KLF_SUBSTITUTE_OK-waarde bij het laden van toetsenbord layouts om ervoor te zorgen dat de voorkeuren van de gebruiker, indien aanwezig, is geselecteerd. Voor sommige besturingssystemen, wordt de waarde KLF_UNLOADPREVIOUS genegeerd.

De LoadKeyboardLayout functie biedt voor meertalige ondersteuning, de KLF_REPLACELANG en KLF_NOTELLSHELL-vlaggen. De vlag KLF_REPLACELANG regisseert de functie ter vervanging van een bestaande toetsenbordindeling zonder het wijzigen van de taal. Probeert te vervangen door een bestaande lay-out met behulp van de dezelfde taal-id maar zonder is vermelding KLF_REPLACELANG een fout. De vlag KLF_NOTELLSHELL voorkomt dat de functie van de shell hoogte te stellen wanneer een toetsenbordindeling wordt toegevoegd of vervangen. Dit is handig voor toepassingen die meerdere lay-outs in een opeenvolgende reeks aanroepen toevoegen. Deze vlag moet worden gebruikt in alle, maar het laatste gesprek.

De UnloadKeyboardLayout functie is beperkt in die zin dat het de standaardinvoertaal systeem kan niet verwijderen. Dit zorgt ervoor dat de gebruiker heeft altijd één lay-out beschikbaar voor tekst invoeren met de dezelfde tekenset zoals gebruikt door de shell en bestand systeem.

Index