|
|
/****************************************************************************/ /* */ /* CLOCK.H - */ /* */ /* Windows Clock Include File */ /* */ /****************************************************************************/
/****************************************************************************/ /* */ /* Touched by : Diane K. Oh */ /* On Date : June 11, 1992 */ /* Revision remarks by Diane K. Oh ext #15201 */ /* This file has been changed to comply with the Unicode standard */ /* Following is a quick overview of what I have done. */ /* */ /* Was Changed it into Remark */ /* === =============== ====== */ /* CHAR TCHAR if it refers to text */ /* LPCHAR & LPSTR LPTSTR if it refers to text */ /* PSTR & NPSTR LPTSTR if it refers to text */ /* */ /****************************************************************************/
/*--------------------------------------------------------------------------*/ /* Typedefs and Structures */ /*--------------------------------------------------------------------------*/
typedef struct tagTIME { int hour; /* 0 - 11 hours for analog clock */ int hour12; /* 12 hour format */ int hour24; /* 24 hour format */ int minute; int second; int ampm; /* 0 - AM , 1 - PM */ } TIME;
typedef struct tagDATE { int day; int month; int year; } xDATE;
typedef struct tagCLOCKDISPSTRUCT { /* Clock display format for main window/icon outut */ /* either IDM_ANALOG, or IDM_DIGITAL */ WORD wFormat;
/* flags */ BOOL bIconic, bNoSeconds, bNoTitle, bTopMost, bNoDate;
/* X and Y offset within client area of window
* or icon where digital clock will be displayed */ int nPosY, nPosHr, nPosSep1, nPosMin, nPosSep2, nPosSec, nPosAMPM; int nSizeChar, nSizeSep, nSizeY, nSizeAMPM; int nPosDateX, nPosDateY, nSizeDateX, nSizeDateY;
/* size of shadow offset, in pixels. If 0, no shadow */ WORD wShdwOff;
/* handle to offscreen bitmap for fast painting of shadowed digits */ HBITMAP hBitmap;
/* buffer to hold the win.ini international indicators
* for 1159, and 2359 AM/PM 12 hour time format. * szAMPM[0] holds AM, szAMPM[1] holds PM indicator */ #define MAX_AMPM_LEN 10
TCHAR szAMPM[2][MAX_AMPM_LEN]; int nMaxAMPMLen; WORD wAMPMPosition;
/* intl time format (like DOS) 0 - 12 hour, 1 - 24 hour */ WORD wTimeFormat, wTimeLZero;
#define MAX_DATE_LEN 80
TCHAR szDateFmt[MAX_DATE_LEN]; TCHAR szDate[MAX_DATE_LEN]; int nDateLen;
#define MAX_TIME_LEN 80
TCHAR szTimeFmt[MAX_TIME_LEN]; int nTimeLen;
/* intl time seperator character */ #define MAX_TIME_SEP 5
TCHAR szTimeSep[MAX_TIME_SEP]; } CLOCKDISPSTRUCT, *PCLOCKDISPSTRUCT;
/*--------------------------------------------------------------------------*/ /* Function Templates */ /*--------------------------------------------------------------------------*/
void NEAR GetTime (TIME *); void NEAR ConvTime (TIME *); void NEAR GetDate (xDATE *);
void NEAR PASCAL PrepareSavedWindow (LPTSTR, PRECT); void NEAR PASCAL ParseSavedWindow (LPTSTR, PRECT); void NEAR PASCAL PrepareSavedFlags (LPTSTR, PCLOCKDISPSTRUCT); void NEAR PASCAL ParseSavedFlags (LPTSTR, PCLOCKDISPSTRUCT);
LONG FAR PASCAL ClockWndProc (HWND, WORD, WORD, LONG);
/*--------------------------------------------------------------------------*/ /* Constants */ /*--------------------------------------------------------------------------*/
/* Main Menu ID defines */
#define IDM_ANALOG 1
#define IDM_DIGITAL 2
#define IDM_SETFONT 3
#define IDM_ABOUT 4
#define IDM_TOPMOST 5 /* actually in system menu */
#define IDM_NOTITLE 6
#define IDM_SECONDS 7
#define IDM_DATE 8
#define IDM_UTC 9
/* Temp ID for dialogs. */ #define ID_JUNK 0xCACC
#define ID_DATA 99
/* String Resource definitions */
#define IDS_APPNAME 2
#define IDS_TOOMANY 3
#define IDS_FONTFILE 4
#define IDS_TOPMOST 5
#define IDS_FONTCHOICE 22
#define IDS_USNAME 23
#define IDS_INIFILE 24
#define IDD_FONT 100
#define HOURSCALE 65
#define MINUTESCALE 80
#define HHAND TRUE
#define MHAND FALSE
#define SECONDSCALE 80
#define MAXBLOBWIDTH 25
#define BUFLEN 30
#define REPAINT 0
#define HANDPAINT 1
#define UPDATE 0
#define REDRAW 1
#define OPEN_TLEN 450 /* < half second */
#define ICON_TLEN 20000 /* 20 seconds */
#ifndef HWND_TOPMOST
#define HWND_TOPMOST ((HWND)-1)
#endif
#ifndef HWND_NOTOPMOST
#define HWND_NOTOPMOST ((HWND)-2)
#endif
|