Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уходит фокус после 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо