C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
MouseMove, определене нажатия кнопки
BOO
  Отправлено: 01.09.2005, 21:32


Не зарегистрирован







Извинити за лаймерский вопрос sad.gif , только перебрался на BCB, а время разобрать почти нет.

Вопрос: как в событии MouseMove определить нажатие кнопки?
То есть как использовать TShiftState Shift?
olegenty
Отправлено: 02.09.2005, 06:36


Ветеран

Группа: Модератор
Сообщений: 2412



отслеживай событие нажатия кнопки в OnKeyDown, отпускание кнопки — OnKeyUp, и сохраняй нужные тебе значения для последующего использования в событии OnMouseMove
timson
Отправлено: 02.09.2005, 07:23


Станционный диспетчер

Группа: Участник
Сообщений: 82



CODE
SHORT GetKeyState(          int nVirtKey
);

возвращает состояние клавиши на клаве. если провериьт тока нажатие, то к результату &0x80
GIZMO
Отправлено: 02.09.2005, 09:11


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (BOO @ 01/09/2005, 21:32)
Извинити за лаймерский вопрос sad.gif , только перебрался на BCB, а время разобрать почти нет.

Вопрос: как в событии MouseMove определить нажатие кнопки?
То есть как использовать TShiftState Shift?

Дак в примерах OnMouseMove вроде есть:
CODE

// Use this code as the OnMouseMove event handler of the form:

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
 if (Shift.Contains(ssLeft)) // make sure button is down — переводить не надо?
 {
   if (Y > StartY)
   {
    ...

Если свойство набор(Set<>), то используешь .Contains()
BOO!
Отправлено: 02.09.2005, 19:04


Не зарегистрирован







Спасибо разобрался

Вернуться в Вопросы программирования в C++Builder