Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как определить что нажата и главное удерживается нажатой клавиша Ctrl
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Романнист Романнист вне форума
Member
 
Сообщений: 160
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.05.2005
По умолчанию Как определить что нажата и главное удерживается нажатой клавиша Ctrl - 05.08.2006, 08:27

Как определить что нажата и главное удерживается нажатой клавиша Ctrl, например... Суть задачи - делаю множественное выделение.
Ответить с цитированием
  (#2 (permalink)) Старый
Романнист Романнист вне форума
Member
 
Сообщений: 160
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.05.2005
По умолчанию 05.08.2006, 14:07

Нашёл...!

/* M: Намек: см. правила п.12 S.*/
Ответить с цитированием
  (#3 (permalink)) Старый
SH@DOW SH@DOW вне форума
Member
 
Сообщений: 2,085
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.09.2002
По умолчанию 07.08.2006, 14:42

Молодец. А теперь поделись с другими
Ответить с цитированием
  (#4 (permalink)) Старый
Романнист Романнист вне форума
Member
 
Сообщений: 160
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.05.2005
По умолчанию 08.08.2006, 06:58

Значит так... у меня есть свой объект от TComponent. Он визуальный, графический. В нём я перехватываю WndProc... А дальше так...
Код:
void __fastcall TVertex::VertexWMC(TMessage& Message)
{
  // Отрабатываем левую кноку на нажатие
  if(Message.Msg == WM_LBUTTONDOWN)
  {
      FTimer_LBUTTONDOWN->Enabled = true;
      Time_LBUTTONDOWN = true;

      FLBUTTONDOWN = true;

      flagControlYes = true;

      _OnMouseDown(mbLeft, x, y);
  }
  // Отрабатываем левую кноку на отжатие
  if(Message.Msg == WM_LBUTTONUP)
  {

      if(FLBUTTONDOWN == true && Time_LBUTTONDOWN == true) // Это клик...!
      {
        if(Message.WParam != 8) FAllocation->UnSelect(); А это клик с нажатой клавишей Ctrl

        FAllocation->Add(this);

        _OnClick();
      }
      
      FLBUTTONDOWN = false;
      flagControlYes = true;
  }

  ...

  if(!flagControlYes) OldWndProc(Message);

  flagControlYes = false;
}
То есть опытным путём выяснил что в если при событиях с мышкой Message.WParam == 8, то это есть то что мне нужно...

Прошу прощения за несвоевременный ответ...
Ответить с цитированием
  (#5 (permalink)) Старый
Gedeon Gedeon вне форума
Member
 
Сообщений: 631
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.06.2003
По умолчанию 08.08.2006, 13:40

MSDN:
SHORT GetKeyState(int nVirtKey);
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить число нажатий клавиш Ctrl за заданный интервал времени не больше 20 секунд Reg7 Assembler 7 10.01.2011 09:37
Как определить, какая буква нажата Zefick WinAPI 1 11.06.2008 15:20
Кнопку включения приходится держать нажатой секунд 10 Farengeit Блоки питания 3 27.05.2008 12:30
Как можно определить, что на заголовке формы нажата кнопка мыши vikaz C++ Builder 5 05.05.2006 04:02
Как сделать чтоб при нажатии на кнопку она оставалась нажатой tusha Visual C++ 3 31.05.2005 22:26
Кнопка формы в состоянии нажата Sc@zy DHTML, JavaScript, VBScript 3 07.05.2005 09:14
Как определить какая кнопка нажата GLADIATOR C++ Builder 2 03.04.2005 16:49
Как в TextBox запретить Ctrl+v Ctrl+c? Anonymous Visual Basic 4 24.01.2005 00:13
Получение символа нажатой клавиши клавиатуры Alexav Visual C++ 7 12.09.2004 02:10
Как в MFC узнать нажата радио кнопка или нет The best Вопросы начинающих программистов 0 03.04.2004 23:32
Как определить когда была нажата клавиша перемещения курсора DarkStar C++ Builder 14 30.01.2004 17:18
Как обнулить значения нажатой кнопки мыши Anonymous С/С++ 0 24.11.2002 17:35



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов