Share via


MCHITTESTINFO 構造体 (commctrl.h)

1 か月の予定表コントロールのヒット テスト ポイントに固有の情報を格納します。 この構造体は、 MCM_HITTEST メッセージと対応するMonthCal_HitTest マクロと共 使用されます。

構文

typedef struct {
  UINT       cbSize;
  POINT      pt;
  UINT       uHit;
  SYSTEMTIME st;
  RECT       rc;
  int        iOffset;
  int        iRow;
  int        iCol;
} MCHITTESTINFO, *PMCHITTESTINFO;

メンバー

cbSize

型: UINT

この構造体のサイズ (バイト単位)。

pt

種類: POINT

ヒット テスト対象のポイント。

uHit

型: UINT

ヒット テスト操作の結果を表すビット フラグを受け取る出力メンバー。 この値は、次のいずれかになります。

意味
MCHT_CALENDARBK
指定されたポイントは、予定表の背景にありました。
MCHT_CALENDARCONTROL
指定されたポイントは、任意の予定表の外部にあるが、予定表コントロール RECT 内にあります
MCHT_CALENDARDATE
指定されたポイントは、予定表内の特定の日付にありました。 lpMCHitTest>st の SYSTEMTIME 構造体は、指定された時点の日付に設定されます。
MCHT_CALENDARDATEMIN
指定されたポイントが予定表の最小日付を超えている。
MCHT_CALENDARDATEMAX
指定されたポイントが予定表の最大日付を超えています。
MCHT_CALENDARDATENEXT
指定されたポイントは、次の月の日付を超えました (現在表示されている月の最後に部分的に表示されます)。 ユーザーがここをクリックすると、月カレンダーの表示が次の月または月のセットまでスクロールされます。
MCHT_CALENDARDATEPREV
指定されたポイントは、前月の日付を超えました (現在表示されている月の最後に部分的に表示されます)。 ユーザーがここをクリックすると、月カレンダーの表示が前の月または月のセットまでスクロールされます。
MCHT_CALENDARDAY
指定されたポイントは、1 日の省略形 ("Fri"など) を超えていた。 lpMCHitTest>st の SYSTEMTIME 構造体は、先頭行の対応する日付に設定されます。
MCHT_CALENDARWEEKNUM
指定されたポイントは 1 週間を超えています (MCS_WEEKNUMBERS スタイルのみ)。 lpMCHitTest>st の SYSTEMTIME 構造体は、左端の列の対応する日付に設定されます。
MCHT_NOWHERE
指定されたポイントが月のカレンダー コントロールになかったか、コントロールの非アクティブな部分にありました。
MCHT_TITLEBK
指定されたポイントは、1 か月のタイトルの背景を超えたものでした。
MCHT_TITLEBTNNEXT
指定したポイントは、コントロールの右上隅にあるボタンの上にありました。 ユーザーがここをクリックすると、月カレンダーの表示が次の月または月のセットまでスクロールされます。
MCHT_TITLEBTNPREV
指定されたポイントは、コントロールの左上隅にあるボタンの上にありました。 ユーザーがここをクリックすると、月カレンダーの表示が前の月または月のセットまでスクロールされます。
MCHT_TITLEMONTH
指定されたポイントは、月のタイトル バーに 1 か月以上ありました。
MCHT_TITLEYEAR
指定されたポイントは、年の値を通して、月のタイトル バーにありました。

st

種類: SYSTEMTIME

ヒット テストされた場所に固有の日付と時刻の情報を受け取ります。

rc

種類: RECT

ヒット テストされた場所。

iOffset

型: int

複数の予定表を表示する場合、これはヒット テストポイント (0 から始まる) でのカレンダーのオフセットです。

iRow

型: int

指定したヒット ポイントが終わったカレンダー グリッドの行番号。 例: 月の 8 日 (月の 2 週目) をヒット テストした場合、行のインデックスは 0 から始まる行インデックスであるため、 iRow は 1 になります。

iCol

型: int

指定したポイントが超過したカレンダー グリッドの列番号。 たとえば、週が日曜日に始まり、月の 1 日が金曜日の場合、1 番目のヒット テストでは iCol に対して 5 (5) が返されます。これは、Friday が行の先頭から 5 番目の列にあり、0 から始まる列インデックスを使用するためです。

解説

このコントロールの列と行では、0 から始まるインデックス システムが使用されます。つまり、最初の列または行のインデックスは 0 です。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header commctrl.h