Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизPostMessage(Edit.Handle,WM_KEYDOWN,code,0); Найти похожие ветки
← →
Zilog © (2006-08-03 11:05) [0]как мне сэмулировать нажатие клавиш клавиатуры?
пробудю сделать так:
Key = "й";
...
code := ord(Key);
но так не работает
PostMessage(Edit.Handle,WM_KEYDOWN,code,0);
подскажите где ошибся
← →
Сергей М. © (2006-08-03 11:08) [1]см. keybd_event()
← →
Шпиён (2006-08-03 11:10) [2]или SendInput()
← →
Ketmar © (2006-08-03 11:13) [3]читать в район VkKeyScan(), не забывать, что WM_KEYDOWN передаюёт константы VK_xxx, а вовсе не коды символов. кстати, не забывать делать WM_KEYUP.
← →
Zilog © (2006-08-03 12:15) [4]а как заставить работать VkKeyScan() с русскими букавми?
← →
Zilog © (2006-08-03 12:17) [5]>>Сергей М. © (03.08.06 11:08) [1]
keybd_event() мне не подходит, т.к. надо устанавливать фокус.
← →
Сергей М. © (2006-08-03 12:23) [6]А зачем тогда потребовалась эмуляция именно клавиатурного ввода ?
Что, Edit.Text = Edit.Text + "й" совсем не канает ?)
← →
Zilog © (2006-08-03 12:27) [7]не, не канает.
На форме кнопки-алфавит, тыкая по которым забивается текстовое поле.
Дело в курсорных клавишах - дожны быть возможность исправить букву в слове.
так что вопрос Zilog © (03.08.06 12:15) [4]
остается в силе
← →
Ketmar © (2006-08-03 12:44) [8]> [4] Zilog © (03.08.06 12:15)
внимательно покурить справку.
← →
Сергей М. © (2006-08-03 12:53) [9]
> Zilog © (03.08.06 12:27) [7]
Ну и ?
Тебе надо программно переместить курсор (позицию ввода) в поле ввода, так ?
← →
Zilog © (2006-08-03 13:48) [10]>Ketmar © (03.08.06 12:44) [8]
Здесь ничего не сказано пор русские буквы, кодировку и т.п.Описание:
function VkKeyScan(AChar: Word): Word;
Пеpеводит AChar в код соответствующей ему виpтуальной клавиши и состояние сдвига.
Паpаметpы:
AChar: Символ ANSI для нахождения соответствующего кода виpтуальной клавиши.
Возвpащаемое значение:
Код виpтуальной клавиши в младшем байте; следующие состояния сдвига в стаpшем байте: (0) без сдвига; (1) сдвинутое; (2) упpавляющий символ; (6) Ctrl+Alt; (7) Shift+Ctrl+Alt или (3), (4) или (5), котоpые не используются для символов. В случае ошибки оба байта содеpжат -1.
← →
Zilog © (2006-08-03 13:51) [11]Вопрос решен - что бы VkKeyScan работал с русскими символами - необходимо, что бы была включена русская раскладка клавиатуры (RU).
← →
Zilog © (2006-08-03 14:17) [12]Появился еще один вопрос - а как виртуально зажать клавишу Shift?
Вот этот способ не работает:
PostMessage(Edit.Handle,WM_KEYDOWN,VK_SHIFT,0);
PostMessage(Edit.Handle,WM_KEYDOWN,code,0);
← →
Zilog © (2006-08-03 14:51) [13]неужели нет ниу кого вариантов?
← →
Пусик © (2006-08-03 15:01) [14]procedure WrShiftX;
begin
Keybd_Event(VK_SHIFT,0,0,0);
Keybd_Event(Ord("X"),0,0,0);
Keybd_Event(VK_Menu,0,KEYEVENTF_KEYUP,0);
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c