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

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

Как послать клавиатурное сочетание [D7, Win2k, WinXP]


netmouse ©   (2005-04-21 19:30:00) 

Для навигации по DbGrid использую:
SendMessage(DBGrid.Handle,wm_keydown, vk_End, 0);
как послать CTRL+A?
подскажите пожалуйста!


Набережных С.   (2005-04-24 11:39:00) [1]


> Vovka   (23.04.05 22:12) [8]
> А пальцы гнуть и пиво пить и я умею.

Докажи.

> Мне кажется

Есть мнение, что в таких нужно перекреститься. Попробуй, вдруг поможет.


Vovka   (2005-04-23 22:12:00) [2]

специально, чтобы модераторы не скучали.

Уважаемые мастера. И прочие. Мне кажется, что, найдя ошибку, настоящий мастер просто поправитошибающегося.
А пальцы гнуть и пиво пить и я умею.


Vovka   (2005-04-23 22:05:00) [3]

2netmouse
Извиняюсь за пургу, правильно будет так:

Keybd_Event(VK_LControl, MapVirtualKey(VK_LControl, 0), KEYEVENTF_EXTENDEDKEY or 0, 0);
Keybd_Event(Ord('A'), MapVirtualKey(Ord('A'), 0), KEYEVENTF_EXTENDEDKEY or 0, 0);
Keybd_Event(Ord('A'), MapVirtualKey(Ord('A'), 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
Keybd_Event(VK_LControl, MapVirtualKey(VK_LControl, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);

Зачем я "отпускаю" клавишу "А", не знаю, - работает без проблем и так.


Набережных С.   (2005-04-23 15:51:00) [4]


> VMcL ©   (23.04.05 10:55) [5]

Не, Билл Гейтс. Лично. Он давно уже только и мечтает, как бы это какому-нибудь Вовке массив проинициализировать...


VMcL   (2005-04-23 10:55:00) [5]

>> Vovka   (23.04.05 01:09) [3]

Про инициализацию KeyState генератор случайных чисел позаботится?


Vovka   (2005-04-23 01:11:00) [6]

или там ДБГрид.Хэндл...


Vovka   (2005-04-23 01:09:00) [7]

Проще простого:

var KeyState: TKeyboardState;
begin
KeyState[VK_LCONTROL]:= 1;
SetKeyboardState(KeyState);
SendMessage(Form2.Handle, WM_KEYDOWN,  Ord('A') , 0);
end;


ANB   (2005-04-22 09:17:00) [8]

DBGrid твоего приложения ?


Ученик   (2005-04-21 23:01:00) [9]

Может достаточно будет

type
 TDBGridAccess = class(TDBGrid);

TDBGridAccess(DBGrid).KeyDown(var Key: Word; Shift: TShiftState);


Наверх

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