Поделиться через


Структура TRACKMOUSEEVENT (winuser.h)

Используется функцией TrackMouseEvent для отслеживания того, когда указатель мыши покидает окно или наносит указатель мыши на окно в течение определенного периода времени.

Синтаксис

typedef struct tagTRACKMOUSEEVENT {
  DWORD cbSize;
  DWORD dwFlags;
  HWND  hwndTrack;
  DWORD dwHoverTime;
} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;

Члены

cbSize

Тип: DWORD

Размер структуры TRACKMOUSEEVENT в байтах.

dwFlags

Тип: DWORD

Запрошенные службы. Этот элемент может быть сочетанием следующих значений.

Значение Значение
TME_CANCEL
0x80000000
Вызывающий объект хочет отменить предыдущий запрос на отслеживание. Вызывающий объект также должен указать тип отслеживания, которое требуется отменить. Например, чтобы отменить отслеживание при наведении, вызывающий объект должен передать флаги TME_CANCEL и TME_HOVER .
TME_HOVER
0x00000001
Вызывающему объекту требуется уведомление о наведении указателя мыши. Уведомление доставляется в виде сообщения WM_MOUSEHOVER .

Если вызывающий объект запрашивает отслеживание при наведении, а отслеживание наведении на него уже активно, таймер наведении на него будет сброшен.

Этот флаг игнорируется, если указатель мыши не находится на указанном окне или области.

TME_LEAVE
0x00000002
Вызывающий объект хочет оставить уведомление. Уведомление доставляется в виде сообщения WM_MOUSELEAVE . Если указатель мыши не находится над указанным окном или областью, уведомление о выходе создается немедленно и дальнейшее отслеживание не выполняется.
TME_NONCLIENT
0x00000010
Вызывающий объект хочет наведите указатель мыши и оставить уведомление для неклиентных областей. Уведомления доставляются в виде WM_NCMOUSEHOVER и WM_NCMOUSELEAVE сообщений.
TME_QUERY
0x40000000
Функция заполняет структуру вместо того, чтобы рассматривать ее как запрос отслеживания. Структура заполняется таким образом, что если бы эта структура была передана в TrackMouseEvent, она бы создавала текущее отслеживание. Единственная аномалия заключается в том, что возвращаемое время ожидания при наведении курсора всегда является фактическим временем ожидания, а не HOVER_DEFAULT, если HOVER_DEFAULT было указано во время исходного запроса TrackMouseEvent .

hwndTrack

Тип: HWND

Дескриптор для отслеживаемого окна.

dwHoverTime

Тип: DWORD

Время ожидания при наведении (если TME_HOVER было указано в dwFlags) в миллисекундах. Может быть HOVER_DEFAULT, что означает использование времени ожидания наведении указателя мыши по умолчанию.

Комментарии

Время ожидания наведении по умолчанию по умолчанию — это время раскрывающегося меню, которое составляет 400 миллисекунда. Вы можете вызвать SystemParametersInfo и использовать SPI_GETMOUSEHOVERTIME для получения времени ожидания наведения по умолчанию.

Системный прямоугольник наведение по умолчанию совпадает с прямоугольником двойного щелчка. Вы можете вызвать SystemParametersInfo и использовать SPI_GETMOUSEHOVERWIDTH и SPI_GETMOUSEHOVERHEIGHT , чтобы получить размер прямоугольника, в котором должен оставаться указатель мыши для TrackMouseEvent для создания сообщения WM_MOUSEHOVER .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

Ввод с помощью мыши