次の方法で共有


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 に渡されるように塗りつぶされ、現在の追跡が生成されます。 唯一の異常は、元の TrackMouseEvent 要求中にHOVER_DEFAULTが指定されている場合、返されるホバー タイムアウトは常に実際のタイムアウトであり、HOVER_DEFAULTではありません。

hwndTrack

型: HWND

追跡するウィンドウへのハンドル。

dwHoverTime

型: DWORD

ホバー タイムアウト (TME_HOVERが dwFlags で指定されている場合) (ミリ秒単位)。 HOVER_DEFAULTできます。これは、システムの既定のホバー タイムアウトを使用することを意味します。

注釈

システムの既定のホバー タイムアウトは、最初はメニュードロップダウン時間 (400 ミリ秒) です。 SystemParametersInfo を呼び出し、SPI_GETMOUSEHOVERTIMEを使用して、既定のホバー タイムアウトを取得できます。

システムの既定のホバー四角形は、ダブルクリック四角形と同じです。 SystemParametersInfo を呼び出し、SPI_GETMOUSEHOVERWIDTHSPI_GETMOUSEHOVERHEIGHTを使用して、TrackMouseEventWM_MOUSEHOVER メッセージを生成するためにマウス ポインターを維持する必要がある四角形のサイズを取得できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (Windows.h を含む)

こちらもご覧ください

マウス入力