Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Вниз

Смена раскладки на следующую по счету   Найти похожие ветки 

 
greenrul   (2002-05-30 17:15) [0]

В ФАКе нашел как поменять только на английскую/русскую. А как поменять просто НА ДРУГУЮ - следуюущую по счету. То есть если установлены 3 языка, то нажатие кнопки меняет A на B, B на C, C на A и пр.

И разумеется если языков 2 или больше трех это тоже должно работать.

P.S. FAQ ->
LoadKeyboardLayout("00000409", KLF_ACTIVATE); // английский
LoadKeyboardLayout("00000419", KLF_ACTIVATE); // русский


 
Song   (2002-05-30 17:52) [1]

Другой номер надо задать, относящийся к Вашему языку.


 
greenrul   (2002-05-30 18:58) [2]

Так неизвестно какие языки стоят...

И сколько их тоже неизвестно - как получить список с номерами установленных на компе языков???


 
easy   (2002-05-31 19:47) [3]

ActivateKeyboardLayout
The implementations of ActivateKeyboardLayout in Windows NT and Windows 95 are substantially different. To accommodate these differences, this reference page first presents the Windows NT implementation in its entirety, followed by the Windows 95 version.

Windows NT
The ActivateKeyboardLayout function activates a different keyboard layout and sets the active keyboard layout for the entire system rather than the calling thread.

HKL ActivateKeyboardLayout(
HKL hkl, // handle to keyboard layout
UINT Flags // keyboard layout flags
);

Parameters
hkl
Handle to the keyboard layout to be activated. The layout must have been loaded by a previous call to the LoadKeyboardLayout function. This parameter must be either the handle to a keyboard layout or one of the following values. Value Meaning
HKL_NEXT Selects the next layout in the circular list of loaded layouts maintained by the system.
HKL_PREV Selects the previous layout in the circular list of loaded layouts maintained by the system.


Flags
Specifies how the keyboard layout is to be activated. This parameter can be one of the following values. Value Meaning
KLF_REORDER If this bit is set, the system"s circular list of loaded keyboard layouts is reordered. If this bit is not set, the list is rotated without a change of order. For example, if a user had an English layout active, as well as having French, German and Spanish layouts loaded (in that order), then activating the German layout with the KLF_REORDER bit set would produce the following order: German, English, French, Spanish. Activating the German layout without the KLF_REORDER bit set would produce the following order: German, Spanish, English, French.
If less than three keyboard layouts are loaded, the value of this flag is irrelevant.

KLF_SETFORPROCESS Windows NT 5.0 and later: Activates the specified keyboard layout for the entire process and sends the WM_INPUTLANGCHANGE message to all threads in the current process.
KLF_UNLOADPREVIOUS The previously active layout is unloaded.


 
Proton   (2002-06-10 01:11) [4]

Короче
ActivateKeyboardLayout(HKL_NEXT,0);
2easy и не надо было так спамить, простой вопрос - простой ответ :)
прямо таки не easy а hard


 
greenrul   (2002-06-10 11:34) [5]

Спасибо - вот код рабочий:
ActivateKeyboardLayout(HKL_NEXT,KLF_ACTIVATE);


 
greenrul   (2002-06-10 11:36) [6]

а чем отличается в данном случае 0 от KLF_ACTIVATE?


 
Song   (2002-06-10 13:39) [7]

ничем. Одно константа, другоё её представление.


 
easy   (2002-06-10 16:44) [8]

2Proton сорри, был пьян, а тут как раз MSDN открытый...
...больше не буду...8))



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-47973
Rostislav-K
2002-07-26 11:38
2002.08.15
OLE DB и MS SQL Server


7-48349
Алексей Коваленко
2002-05-31 10:16
2002.08.15
Непрерывная печать на принтер


6-48217
Corte ™
2002-05-31 09:15
2002.08.15
Помогите!!!!


6-48225
Adventure
2002-05-31 13:40
2002.08.15
***** Нужна идея ***** (Посещение


3-48014
vib
2002-07-28 15:28
2002.08.15
Копирование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский