BOO |
Отправлено: 01.09.2005, 21:32 |
|
Не зарегистрирован
|
Извинити за лаймерский вопрос , только перебрался на 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) | Извинити за лаймерский вопрос , только перебрался на 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 |
|
Не зарегистрирован
|
Спасибо разобрался
|
|