Annotation of pmsdk/samples/newcard/cardfile.h, revision 1.1.1.1

1.1       root        1: /*********************************************************************/
                      2: /*  Windows/PM Cardfile Shared Code                                  */
                      3: /*                                                                   */
                      4: /*  (c) Copyright Microsoft Corp. 1987,1988 - All Rights Reserved    */
                      5: /*********************************************************************/
                      6: 
                      7: /*********************************************************************/
                      8: /*    The following shared code was developed from the original      */
                      9: /* Cardfile application.  This code can be compiled to run under     */
                     10: /* either the Windows or the PM manager environment.  All            */
                     11: /* functionality associated with bitmaps or printing has been        */
                     12: /* deleted.  Some comments refering to these functions may still be  */
                     13: /* present in the code and should be disregarded. jw.                */
                     14: /*********************************************************************/
                     15: 
                     16: 
                     17: /* Include proper .h file depending on which version compiling under */
                     18: 
                     19: #ifdef  IN_WINDOWS
                     20: /* turn off some stuff Cardfile never uses */
                     21: #define NOSOUND
                     22: #define NOCREATESTRUCT
                     23: #define NOMETAFILE
                     24: #define NOPEN
                     25: #define NORGN
                     26: #define NOWH
                     27: #define NOKANJI
                     28: #include "winbind.h"
                     29: #else
                     30: #include "pmbind.h"
                     31: #endif
                     32: 
                     33: /* This is a useful define for converting a char to a LPSTR (used for */
                     34: /* UpperChar calls */
                     35: #define  CHAR_STR( x )  ((LPSTR)((DWORD)((BYTE)*x)))
                     36: 
                     37: #define  FAR_TO_NEAR( x )   ((PSTR)((WORD)((DWORD)x)))
                     38: 
                     39: /* these are the ID's for the commands in the menu */
                     40: 
                     41: /* File menu */
                     42: #define     IDSM_FILE       100
                     43: #define     IDM_NEW         101
                     44: #define     IDM_OPEN        102
                     45: #define     IDM_SAVE        103
                     46: #define     IDM_SAVEAS      104
                     47: #define     IDM_MERGE       105
                     48: /* Edit menu */
                     49: #define     IDSM_EDIT       120
                     50: #define     IDM_HEADER      122
                     51: #define     IDM_CUT         123
                     52: #define     IDM_COPY        124
                     53: #define     IDM_PASTE       125
                     54: #define     IDM_RESTORE     126
                     55: 
                     56: /* View menu */
                     57: #define     IDSM_VIEW       140
                     58: #define     IDM_CARDFILE    141
                     59: #define     IDM_PHONEBOOK   142
                     60: /* Card menu */
                     61: #define     IDSM_CARD       160
                     62: #define     IDM_ADD         161
                     63: #define     IDM_DELETE      162
                     64: #define     IDM_DUPLICATE   163
                     65: /* Search menu */
                     66: #define     IDSM_SEARCH     180
                     67: #define     IDM_GOTO        181
                     68: #define     IDM_FIND        182
                     69: #define     IDM_FINDNEXT    183
                     70: 
                     71: #define     IDM_ABOUT       8887
                     72: 
                     73: #define     IDM_EDITWINDOW  200     /* this isn't really a command, but */
                     74:                                     /* the id is used in a WM_COMMAND   */
                     75:                                     /* message */
                     76: 
                     77: /* id's for controls in dialog boxes */
                     78: #define IDD_PATH     10
                     79: #define IDD_EDIT     11
                     80: #define IDD_LISTBOX  12
                     81: #define IDD_TONE     13
                     82: #define IDD_PULSE    14
                     83: #define IDD_COM1     15
                     84: #define IDD_COM2     16
                     85: #define IDD_1200     17
                     86: #define IDD_300      18
                     87: 
                     88: /* id's for strings */
                     89: /* prompts */
                     90: #define IDS_DELCURCARD     0
                     91: #define IDS_CREATEFILE     1
                     92: #define IDS_OKTOSAVE       2
                     93: #define IDS_ABOUT          3
                     94: #define IDS_CARDS          4
                     95: #define IDS_CARD           5
                     96: #define IDS_UNTITLED       6
                     97: #define IDS_CARDDATA       7
                     98: #define IDS_PICKUPPHONE    8
                     99: #define IDS_CARDFILE       9
                    100: #define IDS_STRINGINSERT   10
                    101: /* errors */
                    102: #define IDS_ECANTPRINTPICT  17
                    103: #define IDS_EINSMEMORY      18
                    104: #define IDS_EFILEEXISTS     19
                    105: #define IDS_EINVALIDFILE    20
                    106: #define IDS_ECLIPEMPTYTEXT  21
                    107: #define IDS_ENOTEXTSEL      22
                    108: #define IDS_EDISKFULLFILE   23
                    109: #define IDS_ECANTMAKETEMP   24
                    110: #define IDS_EINSMEMSAVE     25
                    111: #define IDS_EDISKFULLSAVE   26
                    112: #define IDS_EOPENTEMPSAVE   27
                    113: #define IDS_ECANTREADPICT   28
                    114: #define IDS_EINSMEMRUN      29
                    115: #define IDS_ENOTVALIDFILE   30
                    116: #define IDS_ECANTFIND       31
                    117: #define IDS_EINSMEMREAD     32
                    118: #define IDS_ECANTPRINT      33
                    119: #define IDS_ECLIPEMPTYPICT  34
                    120: #define IDS_ENOMODEM        35
                    121: #define IDS_ENOPICTURES     36
                    122: #define IDS_ECANTMAKEFILE   37
                    123: #define IDS_EMEMPRINT       38
                    124: #define IDS_EDISKPRINT      39
                    125: #define IDS_NOBITMAP        40
                    126: 
                    127: 
                    128: /* dialog boxes */
                    129: #define DTOPEN      1
                    130: #define DTSAVE      2
                    131: #define DTHEADER    3
                    132: #define DTADD       5
                    133: #define DTMERGE     6
                    134: #define DTGOTO      7
                    135: #define DTFIND      8
                    136: #define DTABOUT     9
                    137: 
                    138: /* resource names */
                    139: #define CFMENU    1
                    140: #define CFICON    1
                    141: #define CFACCEL   1
                    142: 
                    143: /* Flags for MyOpen */
                    144: #define READ        0
                    145: #define WRITE       1
                    146: #define READ_WRITE  2
                    147: 
                    148: /* card definitions */
                    149: #define LINELENGTH 40               /* 40 characters per line */
                    150: #define CARDLINES 11                /* 11 lines per card */
                    151: #define CARDTEXTSIZE ((LINELENGTH+1) * CARDLINES)   /* characters per card */
                    152: 
                    153: /* brush colors on a color screen */
                    154: #define RGBRED     0x0000ff
                    155: #define RGBBLUE    0xff0000
                    156: 
                    157: /* flags for a card header */
                    158: #define FNEW     0x01               /* new card, not in file yet */
                    159: #define FDIRTY   0x02               /* card has changed from file */
                    160: #define FTMPFILE 0x04               /* it's data is in the tmpfile */
                    161: 
                    162: /* margins on card */
                    163: #define LEFTMARGIN 8
                    164: #define RIGHTMARGIN 8
                    165: #define BOTTOMMARGIN 8
                    166: 
                    167: #define PATHMAX 128                 /* maximum # of character in filename */
                    168: 
                    169: #define ATTRDIRLIST 0x4010          /* used by open dialog box */
                    170: 
                    171: /* Cardfile's two main data structures */
                    172: /* the first is the header.  Each card in a file has a header associated */
                    173: /* with it.  All headers are resident in memory while a file is in use */
                    174: /* the header has information about the header line on the card, and */
                    175: /* where the rest of the card's information can be found */
                    176: typedef struct
                    177:     {
                    178:     char            reserved[6];          /* bytes available for future use */
                    179:     unsigned long   lfData;               /* file offset of data */
                    180:     unsigned char   flags;                /* flags */
                    181:     char            line[LINELENGTH+1];   /* 40 character lines plus null */
                    182:     }CARDHEADER;
                    183: typedef CARDHEADER *PCARDHEADER;
                    184: typedef CARDHEADER far *LPCARDHEADER;
                    185: 
                    186: /* the second is for the card currently viewed.  It contains information */
                    187: /* about the card's bitmap (if any), and the card's main body of text */
                    188: typedef struct
                    189:     {
                    190:     int        cxBitmap;                /* width of the bitmap */
                    191:     int        cyBitmap;                /* height of the bitmap */
                    192:     int        xBitmap;                 /* left location of bitmap */
                    193:     int        yBitmap;                 /* top location of bitmap */
                    194:     unsigned    bmSize;                 /* count of bytes in the bitmap */
                    195:     HANDLE  hBitmap;                    /* handle to bitmap, NULL if none */
                    196:     HANDLE  hText;                      /* handle to the text block */
                    197:     }CARD;
                    198: typedef CARD *PCARD;
                    199: 
                    200: #include "declare.h"
                    201: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.