Структура TRACKMOUSEEVENT используется функцией TrackMouseEvent, чтобы отслеживать, когда указатель мыши оставляет окно или нависает над окном на заданное время.
Синтаксис
typedef struct tagTRACKMOUSEEVENT { DWORD cbSize; DWORD dwFlags; HWND hwndTrack; DWORD dwHoverTime; } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT; |
Члены структуры
cbSize
Устанавливает размер структуры TRACKMOUSEEVENT.
dwFlags
Устанавливает затребованные услуги. Этот член структуры может быть комбинацией нижеследующих значений.
Значение | Предназначение |
TME_CANCEL | Вызывающей программе следует отменить предшествующий запрос на слежение. Вызывающая программа должна также установить и тип того слежения, которое требуется отменить. Например, чтобы отменить отслеживание нависания, вызывающая программа должна передать флажки TME_HOVER и TME_CANCEL. |
TME_HOVER | Вызывающей программе
следует уведомить о нависании.
Уведомление посылается как сообщение
WM_MOUSEHOVER .
Если вызывающая программа запрашивает отслеживание нависания, в то время, когда оно еще не активно, должен быть предоставлен таймер нависания. Если вызывающая программа запрашивает отслеживание нависания, в то время, когда отслеживание нависания уже активно, таймер нависания должен быть сброшен. Этот флажок игнорируется, если указатель мыши - не над указанным окном или областью. |
TME_LEAVE | Вызывающей программе следует уведомить об уходе. Уведомление посылаются как сообщение WM_MOUSELEAVE. Если мышь - не поверх указанного окна или области, уведомление об уходе создается немедленно, и дальнейшее слежение не выполняется. |
TME_NONCLIENT | Windows 98/Me, Windows 2000/XP: Вызывающей программе следует уведомить о нависании и уходе для нерабочих областей. Уведомление посылается как сообщение WM_NCMOUSEHOVER и WM_NCMOUSELEAVE. |
TME_QUERY | Функция заполняет поля в структуре вместо того, чтобы рассматривать её как запрос на слежение. Структура заполняется так же, что и структура, передающаяся в TrackMouseEvent, которая создает текущее слежение. Единственное отклонение то, что возвращенная блокировка времени нависания является всегда фактической блокировкой по времени, а не HOVER_DEFAULT, если HOVER_DEFAULT задавался в ходе первоначального запроса TrackMouseEvent. |
hwndTrack
Устанавливает дескриптор отслеживаемого окна.
dwHoverTime
Устанавливает блокировку времени нависания (если TME_HOVER устанавливался в dwFlags), в миллисекундах. Это может быть HOVER_DEFAULT, которое предназначает использовать системную заданную по умолчанию блокировку по времени нависания.
Замечания
Системная заданная по умолчанию блокировка времени нависания изначально является временем раскрытия меню, которое равно 400 миллисекундам. Вы можете вызвать функцию SystemParametersInfo и использовать флажок SPI_GETMOUSEHOVERTIME, чтобы извлечь данные о заданной по умолчанию блокировки времени нависания.
Системный заданный по умолчанию прямоугольник нависания является тем же самым, что и прямоугольник двойного щелчка. Вы можете вызвать SystemParametersInfo и использовать флажки SPI_GETMOUSEHOVERWIDTH и SPI_GETMOUSEHOVERHEIGHT, чтобы извлечь данные о размере прямоугольника в пределах которого, должен оставаться указатель мыши для TrackMouseEvent, чтобы создать сообщение WM_MOUSEHOVER.
Смотри также
Обзор Ввод данных от мыши, Структуры, используемые мышью
Размещение и совместимость TRACKMOUSEEVENT |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 4.0 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Нет |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |