Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2011, 05:34   #1
ldenis
Новичок
Джуниор
 
Регистрация: 21.01.2011
Сообщений: 1
По умолчанию Key Up при нажатых 2х и более клавиш

Как прочитать одновременное нажатие 2х и более клавиш, не считая клавиш Shift, Alt или Ctrl?
ldenis вне форума Ответить с цитированием
Старый 21.01.2011, 12:21   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
type
  TByteSet = set of Byte;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
    FKeySet: TByteSet;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FKeySet := [];
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  Include (FKeySet, Key);
  if (Ord('A') in FKeySet) and
     (Ord('S') in FKeySet) and
     (Ord('D') in FKeySet) then begin
    FKeySet := [];
    ShowMessage ('asgasdfg');
  end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Exclude (FKeySet, Key);
end;
Sibedir вне форума Ответить с цитированием
Старый 21.01.2011, 12:25   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

The GetKeyboardState function copies the status of the 256 virtual keys to the specified buffer.
mss вне форума Ответить с цитированием
Старый 21.01.2011, 13:00   #4
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

или еще проще
http://delphiworld.narod.ru/base/form_keys_pressed.html
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Violation of primary key constraint .Cannot insert duplicate key in object Как избавиться? SlimFIT БД в Delphi 4 28.12.2010 06:46
Подсчет количества нажатых клавиш. Ассемблер Martischa Помощь студентам 0 29.11.2010 22:49
Перехват нажатых клавиш sxem Общие вопросы Delphi 7 02.05.2010 23:31
Какое программирование в наше время более востребовано и более рентабельно? iukash Свободное общение 18 29.10.2009 13:02
Перехват нажатых клавиш AidarBik Общие вопросы Delphi 2 21.06.2007 20:11