HyperLink


Bejelentkezés
E-mail: 
Jelszó: 






Skip Navigation Links
 

Billentyűzet kiosztás váltása programból


Példaprogram letöltése

7219 bájt

Ha arra lenne szükségünk, hogy programból váltsunk át egyik billentyűzet kiosztásról egy másikra, vagy csak szeretnénk tudni, hogy például az aktuális billentyű kiosztás a Magyar, vagy Angol esetleg valami más, akkor ennek mikéntjét mellékelt példából megismerhetjük.
Hogy mi az aktuális kiosztás, azt a GetKeyboardLayoutName függvény árulja el számunkra. Ennek hívását a mellékelt példaprogram indulásakor rögtön meg is tesszük. Mivel ez azonban csak egy kódszámot ad vissza, így a GetLocaleInfo segítségével és a kapott kóddal egy újabb lekérdezés során már olvasható formában is viszontláthatjuk a kérdéses értéket.
procedure TForm1.FormCreate(Sender: TObject);
var
  klid: array[0..KL_NAMELENGTH] of char;
  lcdata: array[0..127] of char;
begin
  GetKeyboardLayoutName(@klid);
  GetLocaleInfo(StrToInt('$'+klid), LOCALE_SENGLANGUAGE, 
        @lcdata, 128);
  Label1.Caption:=lcdata;
end;
Ha szeretnénk beállítani egy másik billentyűzet kiosztást, mint ami az aktuális, akkor ehhez az ActivateKeyboardLayout függvényre lesz szükségünk. Ennek paraméterként a LoadKeyboardLayout által betöltött billentyű kiosztáskor visszaadott kódot kell átadnunk. Hogy melyik kiosztás kerüljön betöltésre, azt a LoadKeyboardLayout első paramétere határozza meg. Ennek lehetséges értéke az alábbiakban látható:

$0000 Language Neutral
$0400 Process Default Language
$0436 Afrikaans
$041c Albanian
$0401 Arabic (Saudi Arabia)
$0801 Arabic (Iraq)
$0c01 Arabic (Egypt)
$1001 Arabic (Libya)
$1401 Arabic (Algeria)
$1801 Arabic (Morocco)
$1c01 Arabic (Tunisia)
$2001 Arabic (Oman)
$2401 Arabic (Yemen)
$2801 Arabic (Syria)
$2c01 Arabic (Jordan)
$3001 Arabic (Lebanon)
$3401 Arabic (Kuwait)
$3801 Arabic (U.A.E.)
$3c01 Arabic (Bahrain)
$4001 Arabic (Qatar)
$042b Windows 2000: Armenian. This is Unicode only.
$044d Windows 2000: Assamese. This is Unicode only.
$042c Azeri (Latin)
$082c Azeri (Cyrillic)
$042d Basque
$0423 Belarussian
$0445 Windows 2000: Bengali. This is Unicode only.
$0402 Bulgarian
$0455 Burmese
$0403 Catalan
$0404 Chinese (Taiwan)
$0804 Chinese (PRC)
$0c04 Chinese (Hong Kong SAR, PRC)
$1004 Chinese (Singapore)
$1404 Chinese (Macau SAR)
$041a Croatian
$0405 Czech
$0406 Danish
$0413 Dutch (Netherlands)
$0813 Dutch (Belgium)
$0409 English (United States)
$0809 English (United Kingdom)
$0c09 English (Australian)
$1009 English (Canadian)
$1409 English (New Zealand)
$1809 English (Ireland)
$1c09 English (South Africa)
$2009 English (Jamaica)
$2409 English (Caribbean)
$2809 English (Belize)
$2c09 English (Trinidad)
$3009 English (Zimbabwe)
$3409 English (Philippines)
$0425 Estonian
$0438 Faeroese
$0429 Farsi
$040b Finnish
$040c French (Standard)
$080c French (Belgian)
$0c0c French (Canadian)
$100c French (Switzerland)
$140c French (Luxembourg)
$180c French (Monaco)
$0437 Windows 2000: Georgian. This is Unicode only.
$0407 German (Standard)
$0807 German (Switzerland)
$0c07 German (Austria)
$1007 German (Luxembourg)
$1407 German (Liechtenstein)
$0408 Greek
$0447 Windows 2000: Gujarati. This is Unicode only.
$040d Hebrew
$0439 Windows 2000: Hindi. This is Unicode only.
$040e Hungarian
$040f Icelandic
$0421 Indonesian
$0410 Italian (Standard)
$0810 Italian (Switzerland)
$0411 Japanese
$044b Windows 2000: Kannada. This is Unicode only.
$0860 Kashmiri (India)
$043f Kazakh
$0457 Windows 2000: Konkani. This is Unicode only.
$0412 Korean
$0812 Korean (Johab)
$0426 Latvian
$0427 Lithuanian
$0827 Lithuanian (Classic)
$042f Macedonian
$043e Malay (Malaysian)
$083e Malay (Brunei Darussalam)
$044c Windows 2000: Malayalam. This is Unicode only.
$0458 Manipuri
$044e Windows 2000: Marathi. This is Unicode only.
$0861 Windows 2000: Nepali (India). This is Unicode only.
$0414 Norwegian (Bokmal)
$0814 Norwegian (Nynorsk)
$0448 Windows 2000: Oriya. This is Unicode only.
$0415 Polish
$0416 Portuguese (Brazil)
$0816 Portuguese (Standard)
$0446 Windows 2000: Punjabi. This is Unicode only.
$0418 Romanian
$0419 Russian
$044f Windows 2000: Sanskrit. This is Unicode only.
$0c1a Serbian (Cyrillic)
$081a Serbian (Latin)
$0459 Sindhi
$041b Slovak
$0424 Slovenian
$040a Spanish (Traditional Sort)
$080a Spanish (Mexican)
$0c0a Spanish (Modern Sort)
$100a Spanish (Guatemala)
$140a Spanish (Costa Rica)
$180a Spanish (Panama)
$1c0a Spanish (Dominican Republic)
$200a Spanish (Venezuela)
$240a Spanish (Colombia)
$280a Spanish (Peru)
$2c0a Spanish (Argentina)
$300a Spanish (Ecuador)
$340a Spanish (Chile)
$380a Spanish (Uruguay)
$3c0a Spanish (Paraguay)
$400a Spanish (Bolivia)
$440a Spanish (El Salvador)
$480a Spanish (Honduras)
$4c0a Spanish (Nicaragua)
$500a Spanish (Puerto Rico)
$0430 Sutu
$0441 Swahili (Kenya)
$041d Swedish
$081d Swedish (Finland)
$0449 Windows 2000: Tamil. This is Unicode only.
$0444 Tatar (Tatarstan)
$044a Windows 2000: Telugu. This is Unicode only.
$041e Thai
$041f Turkish
$0422 Ukrainian
$0420 Urdu (Pakistan)
$0820 Urdu (India)
$0443 Uzbek (Latin)
$0843 Uzbek (Cyrillic)
$042a Vietnamese

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 112. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2010 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |