![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Уходит фокус после keybd_event VK_RIGHT [D7, WinXP]
Still Swamp © (2005-09-23 12:06:00)Есть на форме Edit:TEdit;
Посылаю на клавиатуру курсор вправо...
Уходит фокус после keybd_event(VK_RIGHT, 0,0,0).
Вместо ожидаемого перемещения внутри эдита курсор ускакивает на соседний... Что за ерунда? Кто нить сталкивался?
ANB (2005-09-23 17:19:00) [1]Имхо, SendMessage намного удобнее и надежнее. А keybd_event легко сломать и плюс - мешаешь пользователю
Still Swamp (2005-09-23 14:57:00) [2]нет... я естно отпускаю потом клавишу... это конечно же.
MBo (2005-09-23 14:16:00) [3]>Уходит фокус после keybd_event(VK_RIGHT, 0,0,0).
Приведенный код эквивалентен нажатию клавиши без ее отпускания...
umbra (2005-09-23 13:58:00) [4]
> какбы он это... единственно возможный
не совсем. можно функцией SendMessage посылать WM_KEYDOWN и WM_KEYUP, что собственно , скорее всего и делает keybd_event
Still Swamp (2005-09-23 12:47:00) [5]хм... вообще то речь идет о эмуляторе клавиатуры для тачскрина. потому даный подход какбы он это... единственно возможный.
umbra (2005-09-23 12:20:00) [6]а зачем так страшно - keybd_event? У TEdit есть свойство SelStart. Курсор перемещается в тексте, если ты присвоишь совйству какое-то значение. Например, если написать Selstart := 0, то курсор окажется в самом начале поля ввода TEdit