Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*
* Windows Calendar * Copyright (c) 1985 by Microsoft Corporation, all rights reserved. * Written by Mark L. Chamberlin, consultant to Microsoft. * */
/*
***** ***** calmark.c ***** */
#include "cal.h"
/**** CmdMark - mark or unmark the selected day. */
VOID APIENTRY CmdMark ()
{
register DT dt; INT itdd; RECT rect; register DD *pdd;
/* Note that the Mark command only operates on the selected date,
and this must be in the tdd, so there is no need to check the return result of FSearchTdd. */ dt = DtFromPd3 (&vd3Sel); FSearchTdd (dt, &itdd);
/* Mark or unmark the DD (toggle its state). */ pdd = TddLock () + itdd;
/* Update the month array by toggling the marked bit for the current
day. */ /* clear old marked bits on day */ vrgbMonth [vwWeekdayFirst + vd3Sel.wDay] &= CLEARMARKEDBITS;
/* set new marked bits */ vrgbMonth [vwWeekdayFirst + vd3Sel.wDay] |= viMarkSymbol; pdd -> fMarked = (SINT)viMarkSymbol;
TddUnlock(); /* If in month mode, cause the marking box to be drawn or erased. */ if (!vfDayMode) { MapDayToRect (vd3Sel.wDay, &rect); InvalidateRect (vhwnd2B, (LPRECT)&rect, TRUE); }
/* Marking a date makes the file dirty. */ vfDirty = TRUE; }
|