Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Замена кодом нажатия Shift+Alt (http://www.flasher.ru/forum/showthread.php?t=115117)

DDcH 19.08.2008 21:19

Замена кодом нажатия Shift+Alt
 
Можно ли функцией в Экшене заменить нажатие Shift+Alt на клавиатуре (смена языка)?

alexcon314 19.08.2008 23:37

Информация о сочетании клавиш переключения раскладки клавы хранится в реестре. AS не может работать с реестром. Доступа к API-функциям в AS тоже нету.

etc 20.08.2008 10:34

А если у пользователя другая система или другое сочетание клавиш?

DDcH 20.08.2008 13:21

НЕт я не об этом! Я про реал тайм: Нажимаем Shift + Alt Печатает по Англ, Еще раз и печатает по Русс. Вот нужно заменить это разовое нажатие Кнопкой в Ролике: Нажали на нарисованную кнопку: и Язык ввода переключился!!!

Неважно Какое сочетание клавиш я имею ввиду событие смены ввода языка!

etc 20.08.2008 13:24

Это невозможно.

alexcon314 20.08.2008 13:33

DDсH, пользуйтесь кнопкой "Изменить", чтобы редактировать ваши посты.
То, о чем вы говорите, реализуется оболочкой.

DDcH 20.08.2008 21:29

Цитата:

Сообщение от alexcon314 (Сообщение 759250)
То, о чем вы говорите, реализуется оболочкой.

Например какой (оболочкой)?

alexcon314 20.08.2008 23:29

Я делал на цинке (mdm Zinc).
http://www.flasher.ru/forum/showpost...96&postcount=6

DDcH 21.08.2008 12:54

установил цинк в поле input file указал swf

вот с этим кодом на первом кадре:

Код:

// подключаем системную DLL user32.dll
var user32 = new mdm.DLL(mdm.System.Paths.windows + "\\system32\\user32.dll");
// создаем текстовые поля для отображения результатов
createTextField("out1", 1, 20, 20, 200, 20);
out1.type = "dynamic";
out1.border = true;
createTextField("out2", 2, 20, 50, 200, 200);
out2.type = "input";
out2.multiline = true;
out2.border = true;
//go-это стандаотная кнопка
go.onRelease = Go;
function Go() {
// формируем список параметров вызова функции ActivateKeyboardLayout
// в оригинале она выглядит так
//        HKL ActivateKeyboardLayout(
    HKL hkl,        // handle to keyboard layout
    UINT Flags        // keyboard layout flags
  );
        var parameter1 = user32.addParameter("integer", "1");
        var parameter2 = user32.addParameter("integer", "8");
        var res = user32.call("boolean", "ActivateKeyboardLayout");
        out1.text = res;
        user32.clear();
}

Сделал кнопку и назвал ее Go

ничего не происходит после компиляции в цинке. Я жму кнопку и ничего не происходит.

alexcon314 21.08.2008 14:25

А что должно происходить по-вашему?
Kнопку надо назвать не "Go", а "go".
...
Только что проверил - все работает.
При нажатии на кнопку меняется раскладка. В поле out1 пишется "true".
Версия цинка 2.5.0.34.
В версии 3.0.0.0 пишет "null", но по-прежнему работает.
В поле out2 вводим текст, то на русском, то на английском, если нажимать на кнопку.

Переехали.


Часовой пояс GMT +4, время: 15:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.