442 lines
14 KiB
C
442 lines
14 KiB
C
/*
|
|
* Windows Calendar
|
|
* Copyright (c) 1985 by Microsoft Corporation, all rights reserved.
|
|
* Written by Mark L. Chamberlin, consultant to Microsoft.
|
|
*
|
|
* ***** declare.h
|
|
*
|
|
*/
|
|
|
|
#define PT_LEN 50 /* Maximum of Page Setup strings in dialog. */
|
|
|
|
/* From caldata.c : */
|
|
extern BYTE fInitComplete;
|
|
extern BYTE vrgcDaysMonth [];
|
|
extern BOOL vfDayMode;
|
|
extern HINSTANCE vhInstance;
|
|
extern HBRUSH vhbrBorder;
|
|
extern HBRUSH vhbrBackMain;
|
|
extern HBRUSH vhbrBackSub;
|
|
extern HCURSOR vhcsrArrow;
|
|
extern HCURSOR vhcsrIbeam;
|
|
extern HCURSOR vhcsrWait;
|
|
extern INT vcxFont;
|
|
extern INT vcxFontMax;
|
|
extern INT vcyFont;
|
|
extern INT vcyDescent;
|
|
extern INT vcyExtLead;
|
|
extern INT vcyLineToLine;
|
|
extern INT vcxBorder;
|
|
extern INT vcxVScrollBar;
|
|
extern INT vcyBorder;
|
|
extern INT vcxHScrollBar;
|
|
extern INT vcyHScrollBar;
|
|
extern INT vcyWnd1;
|
|
extern INT vcyWnd2A;
|
|
extern INT vcyWnd2BTop;
|
|
extern INT vcyWnd2BBot;
|
|
extern INT vcyWnd2B;
|
|
extern INT vcxWnd1;
|
|
extern INT vcxWnd2A;
|
|
extern INT vcxWnd2B;
|
|
extern INT vxcoBell;
|
|
extern INT vcxBell;
|
|
extern INT vcyBell;
|
|
extern INT vxcoApptTime;
|
|
extern INT vxcoAmPm;
|
|
extern INT vxcoQdFirst;
|
|
extern INT vxcoQdMax;
|
|
extern INT vycoQdFirst;
|
|
extern INT vycoQdMax;
|
|
extern INT vxcoDate;
|
|
extern INT vycoNotesBox;
|
|
extern INT vxcoWnd2C;
|
|
extern INT vycoWnd2C;
|
|
extern INT vcln;
|
|
extern INT vlnLast;
|
|
extern LD vtld [];
|
|
extern HWND vhwnd0;
|
|
extern HWND vhwnd1;
|
|
extern HWND vhwnd2A;
|
|
extern HWND vhwnd2B;
|
|
extern HWND vhwnd2C;
|
|
extern HWND vhwnd3;
|
|
#ifndef BUG_8560
|
|
extern HWND vhScrollWnd;
|
|
#endif
|
|
extern D3 vd3Cur;
|
|
extern FT vftCur;
|
|
extern UINT vcMinEarlyRing;
|
|
extern BOOL vfSound;
|
|
extern BOOL vfHour24;
|
|
extern INT vmdInterval;
|
|
extern INT vcMinInterval;
|
|
extern TM vtmStart;
|
|
extern DLGPROC vrglpfnDialog [];
|
|
extern INT vlnCur;
|
|
extern FT vftAlarmNext;
|
|
extern FT vftAlarmFirst;
|
|
extern BOOL vfFlashing;
|
|
extern INT vcAlarmBeeps;
|
|
extern BOOL vfInsert;
|
|
extern TM vtmSpecial;
|
|
extern BOOL vfNoGrabFocus;
|
|
extern HANDLE vhAccel;
|
|
extern HWND vhwndDialog;
|
|
extern BOOL vfMustSyncAlarm;
|
|
extern INT viLeftMarginLen;
|
|
extern INT viRightMarginLen;
|
|
extern INT viTopMarginLen;
|
|
extern INT viBotMarginLen;
|
|
extern INT viCurrentPage;
|
|
extern INT viAMorPM;
|
|
extern CHAR chPageText[6][PT_LEN];
|
|
extern CHAR szDec[5];
|
|
extern CHAR szPrinter[128];
|
|
extern BOOL bPrinterSetupDone;
|
|
extern OPENFILENAME vOFN;
|
|
extern PRINTDLG vPD;
|
|
extern INT vFilterIndex;
|
|
extern INT vHlpMsg;
|
|
|
|
|
|
|
|
/* From caldata2.c : */
|
|
|
|
extern CHAR *vrgsz [];
|
|
extern D3 vd3Sel;
|
|
extern WORD vwDaySticky;
|
|
extern INT vrgbMonth [];
|
|
extern INT vcDaysMonth;
|
|
extern INT vcWeeksMonth;
|
|
extern WORD vwWeekdayFirst;
|
|
extern INT vrgxcoGrid [];
|
|
extern INT vrgycoGrid [];
|
|
extern WORD votqrPrev;
|
|
extern WORD votqrCur;
|
|
extern WORD votqrNext;
|
|
extern WORD vidrCur;
|
|
extern LOCALHANDLE vrghlmDr [];
|
|
extern LOCALHANDLE vhlmTdd;
|
|
extern INT vcddAllocated;
|
|
extern INT vcddUsed;
|
|
extern DT vdtFrom;
|
|
extern D3 vd3To;
|
|
extern DT vdtTo;
|
|
extern INT vitddFirst;
|
|
extern INT vitddMax;
|
|
extern HWND vhwndFocus;
|
|
extern INT hFile [];
|
|
extern OFSTRUCT OFStruct [];
|
|
extern BOOL vfChangeFile;
|
|
extern INT vobkEODChange;
|
|
extern CHAR vszFileSpec [];
|
|
extern BOOL vfOriginalFile;
|
|
extern INT vobkEODNew;
|
|
extern BOOL vfDirty;
|
|
extern BYTE vrgbMagic [];
|
|
extern HDC vhDCMemory;
|
|
extern HBITMAP vhbmLeftArrow;
|
|
extern HBITMAP vhbmRightArrow;
|
|
extern HBITMAP vhbmBell;
|
|
extern INT vxcoLeftArrowFirst;
|
|
extern INT vxcoLeftArrowMax;
|
|
extern INT vxcoRightArrowFirst;
|
|
extern INT vxcoRightArrowMax;
|
|
extern char vszMergeStr [];
|
|
|
|
extern INT vmScrollPos;
|
|
extern INT vmScrollInc;
|
|
extern INT vmScrollMax;
|
|
extern INT hmScrollPos;
|
|
extern INT hmScrollMax;
|
|
extern INT hmScrollInc;
|
|
extern INT viMarkSymbol;
|
|
extern BOOL vfOpenFileReadOnly;
|
|
extern CHAR vszFilterSpec [];
|
|
extern CHAR vszCustFilterSpec [];
|
|
|
|
/* From cal.c : */
|
|
BOOL APIENTRY FCalSize (HWND, INT, INT, INT);
|
|
LRESULT CALLBACK CalWndProc (HWND, UINT, WPARAM, LPARAM);
|
|
INT APIENTRY XcoWnd1 (VOID);
|
|
INT APIENTRY YcoWnd1 (VOID);
|
|
VOID APIENTRY CalSetFocus (HWND);
|
|
VOID APIENTRY InitMenuItems (VOID);
|
|
VOID APIENTRY CalWinIniChange(VOID);
|
|
|
|
|
|
/* From cal2.c : */
|
|
VOID APIENTRY CalPaint (HWND, HDC);
|
|
VOID APIENTRY DrawArrow (HBITMAP, INT);
|
|
VOID APIENTRY DrawArrowBorder (INT);
|
|
VOID APIENTRY DispTime (HDC);
|
|
INT APIENTRY GetTimeSz (TM, CHAR *);
|
|
VOID APIENTRY ByteTo2Digs (BYTE, CHAR *);
|
|
CHAR * APIENTRY CopySz (CHAR *, CHAR *);
|
|
VOID APIENTRY DispDate (HDC, D3 *);
|
|
VOID APIENTRY GetDateDisp (D3 *, CHAR *);
|
|
BYTE * APIENTRY FillBuf (BYTE *, INT, BYTE);
|
|
CHAR * APIENTRY WordToASCII (WORD, CHAR *, BOOL);
|
|
VOID APIENTRY GetDashDateSel (CHAR *);
|
|
BOOL APIENTRY FGetTmFromTimeSz (CHAR *, TM *);
|
|
VOID APIENTRY SkipSpace (CHAR **);
|
|
BOOL APIENTRY FGetWord (CHAR **, WORD *);
|
|
CHAR APIENTRY ChUpperCase (CHAR);
|
|
BOOL APIENTRY FDigit (CHAR);
|
|
BOOL APIENTRY FD3FromDateSz (CHAR *, D3 *);
|
|
VOID APIENTRY GetD3FromDt (DT, D3 *);
|
|
VOID APIENTRY SetEcText(HWND, CHAR *);
|
|
|
|
|
|
/* From calcolor.c : */
|
|
BOOL APIENTRY CreateBrushes (VOID);
|
|
VOID APIENTRY DestroyBrushes (VOID);
|
|
VOID APIENTRY PaintBack (HWND, HDC);
|
|
HDC APIENTRY CalGetDC (HWND);
|
|
VOID APIENTRY SetDefaultColors (HDC);
|
|
VOID APIENTRY DrawAlarmBell (HDC, INT);
|
|
|
|
|
|
/* From calmonth.c : */
|
|
WORD APIENTRY GetWeekday (D3 *);
|
|
INT APIENTRY CDaysMonth (D3 *);
|
|
VOID APIENTRY SetUpMonth (VOID);
|
|
VOID APIENTRY BuildMonthGrid (VOID);
|
|
VOID APIENTRY PaintMonthGrid (HDC);
|
|
VOID APIENTRY PaintMonth (HDC);
|
|
VOID APIENTRY DrawMark (HDC, INT, INT, INT, INT);
|
|
VOID APIENTRY ShowToday (HDC, INT, INT, INT);
|
|
VOID APIENTRY InvertDay (HDC, WORD);
|
|
VOID APIENTRY PositionCaret (VOID);
|
|
VOID APIENTRY MapDayToRect (WORD, RECT *);
|
|
BOOL APIENTRY FMapCoToIGrid (INT, INT *, INT, INT *);
|
|
DT APIENTRY DtFromPd3 (D3 *);
|
|
VOID APIENTRY GetMarkedDays (VOID);
|
|
VOID APIENTRY MonthMode (VOID);
|
|
|
|
|
|
/* From calmon2.c : */
|
|
BOOL APIENTRY FMonthPrev (VOID);
|
|
BOOL APIENTRY FMonthNext (VOID);
|
|
VOID APIENTRY ShowMonthPrevNext (BOOL);
|
|
VOID APIENTRY UpdateMonth (VOID);
|
|
VOID APIENTRY MouseSelectDay (MPOINT, BOOL);
|
|
VOID APIENTRY FScrollMonth (INT, UINT);
|
|
VOID APIENTRY FHorizScrollMonth (INT, WORD); /* added 11/3/88 for hscroll */
|
|
BOOL APIENTRY FCalKey (HWND, WPARAM);
|
|
VOID APIENTRY MoveSelCurMonth (UINT);
|
|
VOID APIENTRY InvalidateMonth (VOID);
|
|
VOID APIENTRY MoveSelNewMonth (UINT);
|
|
VOID APIENTRY JumpDate (D3 *);
|
|
BOOL APIENTRY FFetchTargetDate (VOID);
|
|
|
|
|
|
/* From calday.c : */
|
|
VOID APIENTRY DayMode (D3 *);
|
|
VOID APIENTRY SwitchToDate (D3 *);
|
|
VOID APIENTRY DayPaint (HDC);
|
|
VOID APIENTRY FillTld (TM);
|
|
VOID APIENTRY ScrollDownTld (INT);
|
|
BOOL APIENTRY FGetNextLd (TM, LD *);
|
|
BOOL APIENTRY FGetPrevLd (TM, LD *);
|
|
BOOL APIENTRY FScrollDay (INT, UINT);
|
|
VOID APIENTRY ScrollUpDay (INT, BOOL);
|
|
VOID APIENTRY ScrollDownDay (INT, BOOL, BOOL);
|
|
VOID APIENTRY InvalidateParentQdEc (INT);
|
|
INT APIENTRY YcoFromLn (INT);
|
|
INT APIENTRY LnFromYco (INT);
|
|
VOID APIENTRY SetQdEc (INT);
|
|
|
|
|
|
/* From calday2.c : */
|
|
VOID APIENTRY SetDayScrollRange (VOID);
|
|
VOID APIENTRY AdjustDayScrollRange (INT);
|
|
VOID APIENTRY SetDayScrollPos (INT);
|
|
VOID APIENTRY AdjustDayScrollPos (INT);
|
|
INT APIENTRY ItmFromTm (TM);
|
|
TM APIENTRY TmFromItm (INT);
|
|
VOID APIENTRY MapTmAndItm (TM *, INT *);
|
|
TM APIENTRY TmFromQr (PQR*, PQR);
|
|
TM APIENTRY TmNextRegular (TM);
|
|
|
|
|
|
/* From caltqr.c : */
|
|
|
|
BOOL APIENTRY FSearchTqr (TM);
|
|
VOID APIENTRY StoreQd (VOID);
|
|
VOID APIENTRY AdjustOtqr (INT, INT);
|
|
VOID APIENTRY DeleteQr (WORD);
|
|
BOOL APIENTRY FInsertQr (WORD, PQR);
|
|
BYTE * APIENTRY PbTqrLock (VOID);
|
|
DR * APIENTRY PdrLockCur (VOID);
|
|
VOID APIENTRY DrUnlockCur (VOID);
|
|
DR * APIENTRY PdrLock (UINT);
|
|
VOID APIENTRY DrUnlock (UINT);
|
|
BYTE * APIENTRY PbTqrFromPdr (DR *);
|
|
VOID APIENTRY StoreNotes (VOID);
|
|
VOID APIENTRY SetNotesEc (VOID);
|
|
VOID APIENTRY EcNotification (WORD, WORD);
|
|
VOID APIENTRY PruneEcText (VOID);
|
|
|
|
|
|
/* From calrem.c : */
|
|
INT_PTR CALLBACK FnRemove (HWND, UINT, WPARAM, LPARAM);
|
|
VOID APIENTRY Remove (VOID);
|
|
VOID APIENTRY HourGlassOn (VOID);
|
|
VOID APIENTRY HourGlassOff (VOID);
|
|
|
|
|
|
/* From calcmd.c : */
|
|
VOID APIENTRY CalCommand (HWND, INT);
|
|
BOOL APIENTRY FDoDialog (INT);
|
|
|
|
|
|
/* From calcmd2.c : */
|
|
INT_PTR CALLBACK FnSaveAs (HWND, UINT, WPARAM, LPARAM);
|
|
VOID APIENTRY GetRangeOfDates (HWND);
|
|
INT_PTR CALLBACK FnDate (HWND, UINT, WPARAM, LPARAM);
|
|
INT_PTR CALLBACK FnControls (HWND, UINT, WPARAM, LPARAM);
|
|
INT_PTR CALLBACK FnSpecialTime (HWND, UINT, WPARAM, LPARAM);
|
|
INT_PTR CALLBACK FnPageSetup (HWND, UINT, WPARAM, LPARAM);
|
|
BOOL APIENTRY ProcessDlgText(BOOL);
|
|
INT APIENTRY ChangeToPM ( TM *);
|
|
INT_PTR CALLBACK FnDaySettings (HWND, UINT, WPARAM, LPARAM);
|
|
INT_PTR CALLBACK FnMarkDay ( HWND, UINT, WPARAM, LPARAM); /* added 11/8/88 */
|
|
INT APIENTRY cDlgfnOpen ( HWND, UINT, WPARAM, LPARAM);
|
|
INT APIENTRY cDlgOpenFile (HANDLE, HWND, INT, CHAR *, INT,
|
|
CHAR *, CHAR * , INT);
|
|
BOOL APIENTRY cDlgCheckFilename (CHAR *); /* removed from ..\common\dlgopen.c */
|
|
VOID APIENTRY cDlgCheckOkEnable (HWND, INT, WORD);
|
|
BOOL APIENTRY cIsChLegal (INT);
|
|
BOOL APIENTRY cFSearchSpec (CHAR *);
|
|
INT APIENTRY AlertBox (CHAR *, CHAR *, UINT);
|
|
VOID APIENTRY ConvertUpperSz (CHAR *);
|
|
VOID APIENTRY AddDefExt (LPSTR);
|
|
VOID APIENTRY CheckButtonEnable (HWND, INT, WORD);
|
|
BOOL APIENTRY FCheckSave (BOOL);
|
|
VOID APIENTRY RecordEdits (VOID);
|
|
VOID APIENTRY DateTimeAlert(BOOL, INT);
|
|
BOOL APIENTRY MergeStrings();
|
|
BOOL APIENTRY CallSaveAsDialog ();
|
|
|
|
|
|
|
|
/* From calmark.c : */
|
|
VOID APIENTRY CmdMark (VOID);
|
|
|
|
|
|
/* From caltdd.c : */
|
|
VOID APIENTRY InitTdd (VOID);
|
|
BOOL APIENTRY FSearchTdd (DT, INT *);
|
|
BOOL APIENTRY FGrowTdd (INT, INT);
|
|
VOID APIENTRY ShrinkTdd (INT, INT);
|
|
BYTE * APIENTRY BltByte (BYTE *, BYTE *, UINT);
|
|
VOID APIENTRY DeleteEmptyDd (INT);
|
|
DD * APIENTRY TddLock (VOID);
|
|
VOID APIENTRY TddUnlock (VOID);
|
|
|
|
|
|
/* From calfile.c : */
|
|
VOID APIENTRY CreateChangeFile (VOID);
|
|
VOID APIENTRY DeleteChangeFile (VOID);
|
|
BOOL APIENTRY FCreateTempFile (INT, INT);
|
|
BOOL APIENTRY FFreeUpDr (DR *, DL *);
|
|
BOOL APIENTRY FWriteDrToFile (BOOL, INT, DR *);
|
|
BOOL APIENTRY FReadDrFromFile (BOOL, DR *, DL);
|
|
BOOL APIENTRY FGetDateDr (DT);
|
|
|
|
|
|
/* From calfile2.c : */
|
|
BOOL APIENTRY FCopyToNewFile (INT, DR *, DD *, DD *);
|
|
BOOL APIENTRY FSaveFile (CHAR *, BOOL);
|
|
VOID APIENTRY Reconnect (BOOL);
|
|
INT APIENTRY GetDrive (CHAR *);
|
|
CHAR * APIENTRY PchFileName (CHAR *);
|
|
BOOL APIENTRY FFlushDr (VOID);
|
|
BOOL APIENTRY FCloseFile (INT);
|
|
BOOL APIENTRY FWriteHeader (DD *);
|
|
BOOL APIENTRY FWriteFile (INT, BYTE *, UINT);
|
|
BOOL APIENTRY FDeleteFile (INT);
|
|
BOOL APIENTRY FReopenFile (INT, WORD);
|
|
VOID APIENTRY SetTitle (CHAR *);
|
|
BOOL APIENTRY FCondClose (BOOL, BOOL);
|
|
VOID APIENTRY CleanSlate (BOOL);
|
|
VOID APIENTRY OpenCal (VOID);
|
|
VOID APIENTRY LoadCal (VOID);
|
|
|
|
|
|
|
|
/* From calalarm.c : */
|
|
BOOL APIENTRY FAlarm (INT);
|
|
VOID APIENTRY AlarmToggle (VOID);
|
|
VOID APIENTRY uProcessAlarms (VOID);
|
|
INT_PTR CALLBACK FnAckAlarms (HWND, UINT, WPARAM, LPARAM);
|
|
VOID APIENTRY GetNextAlarm (FT *, FT *, BOOL, HWND);
|
|
WORD APIENTRY IdrFree (VOID);
|
|
VOID APIENTRY ReadTempDr (WORD, DL);
|
|
VOID APIENTRY StartStopFlash (BOOL);
|
|
|
|
|
|
|
|
/* From calspecl.c : */
|
|
VOID APIENTRY InsertSpecial (VOID);
|
|
VOID APIENTRY DeleteSpecial (VOID);
|
|
VOID APIENTRY SpecialTimeFin (VOID);
|
|
|
|
|
|
/* From calprint.c : */
|
|
INT_PTR CALLBACK FnPrint (HWND, UINT, WPARAM, LPARAM);
|
|
VOID APIENTRY Print (VOID);
|
|
BOOL APIENTRY PrintDate (INT, DT, BOOL);
|
|
BOOL APIENTRY PrintHeading (DT);
|
|
BOOL APIENTRY PrintBlankLn (INT);
|
|
BOOL APIENTRY PrintLine (VOID);
|
|
BOOL APIENTRY NewPage (VOID);
|
|
BOOL APIENTRY PrintHeaderFooter(BOOL);
|
|
INT APIENTRY BeginPrint (VOID);
|
|
VOID APIENTRY EndPrint (VOID);
|
|
INT APIENTRY FnProcAbortPrint (HDC, INT);
|
|
INT_PTR CALLBACK FnDlgAbortPrint (HWND, UINT, WPARAM, LPARAM);
|
|
VOID APIENTRY CalPrintAlert(INT);
|
|
INT atopix(CHAR *, INT);
|
|
|
|
|
|
/* From calinit.c : */
|
|
BOOL APIENTRY CalInit (HANDLE, HANDLE, LPSTR, INT);
|
|
BOOL APIENTRY AllocDr ();
|
|
BOOL APIENTRY CalTerminate(INT);
|
|
BOOL APIENTRY LoadBitmaps(HANDLE);
|
|
VOID APIENTRY DeleteBitmaps(VOID);
|
|
|
|
|
|
|
|
/* From calmain.c */
|
|
BOOL APIENTRY FKeyFiltered (MSG *);
|
|
VOID APIENTRY CalTimer (BOOL);
|
|
VOID APIENTRY AlarmCheck (VOID);
|
|
VOID APIENTRY AddMinsToFt (FT *, UINT);
|
|
INT APIENTRY CompareFt (FT *, FT *);
|
|
|
|
|
|
/* From callib.asm : */
|
|
VOID APIENTRY ReadClock(D3 *pd3, TM *ptm);
|
|
INT APIENTRY FDosDelete(LPSTR lpszFileToDelete);
|
|
INT APIENTRY FDosRename(LPSTR lpszOrgFileName, LPSTR lpszNewFileName);
|
|
INT APIENTRY GetCurDrive (VOID);
|
|
LONG APIENTRY mylmul(INT, INT);
|
|
|
|
|
|
/* From common.h */
|
|
/* include file for common routines */
|
|
|
|
INT APIENTRY cDlgOpen(HANDLE, HWND, INT, INT, INT, INT,
|
|
CHAR *, INT, CHAR *, OFSTRUCT *, INT *);
|
|
|
|
BOOL APIENTRY cDlgCheckFileName(CHAR *);
|
|
VOID APIENTRY DlgCheckOkEnable(HWND, INT, WORD);
|
|
HDC APIENTRY GetPrinterDC(VOID);
|
|
VOID APIENTRY DlgInitSaveAs(HWND, INT, INT, INT, LPOFSTRUCT);
|
|
CHAR * APIENTRY PFileInPath(CHAR *);
|
|
CHAR * APIENTRY Int2Ascii (INT, CHAR *, BOOL);
|