home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pentlk11.zip / APPLIC.H < prev    next >
Text File  |  1994-01-13  |  8KB  |  171 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /*  File Name   : APPLIC.H                                                   */
  4. /*                                                                           */
  5. /*  Description : Example Sketch/Handwriting Controls in Pen for OS/2        */
  6. /*                                                                           */
  7. /*  Copyright (C) 1992 IBM Corporation                                       */
  8. /*                                                                           */
  9. /*      DISCLAIMER OF WARRANTIES.  The following [enclosed] code is          */
  10. /*      sample code created by IBM Corporation. This sample code is not      */
  11. /*      part of any standard or IBM product and is provided to you solely    */
  12. /*      for  the purpose of assisting you in the development of your         */
  13. /*      applications.  The code is provided "AS IS", without                 */
  14. /*      warranty of any kind.  IBM shall not be liable for any damages       */
  15. /*      arising out of your use of the sample code, even if they have been   */
  16. /*      advised of the possibility of such damages.                          */
  17. /*                                                                           */
  18. /*****************************************************************************/
  19.  
  20. #define ID_MAIN       1000       /* main window */
  21.  
  22. #define ID_BLACK               1
  23. #define ID_BLUE                2
  24. #define ID_RED                 3
  25.  
  26. #define BLACK_PEN              5
  27. #define BLUE_PEN               6
  28. #define RED_PEN                7
  29.  
  30. /****************************/
  31. /* Pull Down Menu ID's      */
  32. /****************************/
  33. #define IDM_FILL_APP       10
  34. #define IDM_DISPLAY_APP    11
  35. #define IDM_EXIT           12
  36.  
  37.  
  38. /**********************************************************/
  39. /* Fill Out a Application - Dialog Field Control's        */
  40. /**********************************************************/
  41. #define IDD_FILL                    500
  42.  
  43. #define IDC_FLD_FIRSTNAME           501
  44. #define IDC_DATA_FIRSTNAME          502
  45. #define IDC_FLD_LASTNAME            503
  46. #define IDC_DATA_LASTNAME           504
  47.  
  48. #define IDC_FLD_ADDRESS             505
  49. #define IDC_DATA_ADDRESS            506
  50. #define IDC_FLD_CITY                507
  51. #define IDC_DATA_CITY               508
  52. #define IDC_FLD_STATE               509
  53. #define IDC_DATA_STATE              510
  54. #define IDC_FLD_ZIP                 511
  55. #define IDC_DATA_ZIP                512
  56. #define IDC_SIGNATURE               513
  57. #define IDC_SIGNATURE_PROMPT        514
  58.  
  59. #define IDC_SAVE_OR_NEXT            515
  60. #define IDC_CLEAR_OR_TOP            516
  61. #define IDC_SEARCH                  517
  62. #define IDC_PEN_COLORS              518
  63.  
  64. /***********************************************/
  65. /* Search Application - Dialog Field Control's */
  66. /***********************************************/
  67. #define IDD_SEARCH                  525
  68. #define IDC_SEARCHBOX               526
  69.  
  70. #define IDD_MSGBOX                  550
  71. #define MAXTEXTLEN 240                 /* Maximum length for message strings */
  72.  
  73. /*********************************************/
  74. /* Messagetable Ids                          */
  75. /*********************************************/
  76. #define IDMSG_INFO                    700           /* Information Message   */
  77. #define IDMSG_FILE_END                701           /* End of File.          */
  78.  
  79. #define IDMSG_WARNING                 710           /* Warning Message       */
  80.  
  81.  
  82. #define IDMSG_ERROR                   725           /* Error Message                      */
  83. #define IDMSG_NO_PEN_RUNNING          726           /* Pen for OS/2 is not running.       */
  84. #define IDMSG_FILE_OPEN_ERROR         727           /* File Open Error!                   */
  85. #define IDMSG_FILE_WRITE_ERROR        728           /* File Write Error!                  */
  86. #define IDMSG_FILE_READ_ERROR         729           /* File Read Error!                   */
  87. #define IDMSG_NO_RECORDS              730           /* No Records in File!                */
  88. #define IDMSG_SIGNATURE_READ_ERROR    731           /* Error Reading Signature!           */
  89. #define IDMSG_MISSING_LASTNAME        732           /* Application must have a last name! */
  90. #define IDMSG_MEMORY_ERROR            733           /* Memory Allocation Error.           */
  91. #define IDMSG_MISSING_FILE            734           /* No Applications to Display!        */
  92.  
  93. /***********************************/
  94. /*   WinLoadString Constants       */
  95. /***********************************/
  96. #define APPLIC_CLASSNAME        750
  97.  
  98. MRESULT EXPENTRY ClientWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 );
  99. MRESULT EXPENTRY FillDlgProc( HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2 );
  100. MRESULT EXPENTRY DisplayDlgProc( HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
  101. MRESULT EXPENTRY SearchDlgProc( HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
  102.  
  103.  
  104. int     main( void );
  105. USHORT  SaveApp(HWND hwndDlg);
  106. USHORT  OpenFile(void);
  107. USHORT  ReadHeader(void);
  108. USHORT  ReadAndDisplaySignature(HWND hwndDlg);
  109. VOID    SetRecord(HWND hwndDlg);
  110. VOID    ClearFields(HWND hwndDlg);
  111. USHORT  ShowMessageBox(HWND hwnd, USHORT idMsg);
  112. VOID    FillToolBar(HWND hwndDlg);
  113. BOOL    CombSizing ( HWND hWnd, USHORT usField, USHORT Columns );
  114.  
  115. /***************************************/
  116. /* Application Structure saved to file */
  117. /***************************************/
  118. #define LASTNAME_MAX   25
  119. #define FIRSTNAME_MAX  25
  120. #define ADDRESS_MAX    30
  121. #define CITY_MAX       25
  122. #define STATE_MAX      2
  123. #define ZIP_MAX        5
  124.  
  125.  
  126. /*************************/
  127. /* Global                */
  128. /*************************/
  129.  
  130.   HWND      hwndFrame;             /* window handle                          */
  131.   HWND      hwndSearchDlg;         /* Search Dialog handle */
  132.   HAB       hab;                   /* anchor block handle                    */
  133.  
  134.   USHORT    usResult;              /* Return from dialog box routine         */
  135.   HPOINTER  BlackPen;              /* Black Pen                              */
  136.   HPOINTER  BluePen;               /* Blue Pen                               */
  137.   HPOINTER  RedPen;                /* Red Pen                                */
  138.  
  139.   ULONG     ulCurrentPtr;          /* Current Record Read or Displayed       */
  140.   ULONG     ulNewPtr;              /* file pointer                           */
  141.   ULONG     ulBytesRead;
  142.   ULONG     ulBytesWritten;
  143.   ULONG     ulAction;
  144.   HFILE     hf;                    /* Address of file handle                 */
  145.  
  146.   /*********************************************************************/
  147.   /* (Total Stroke Count * sizeof(ULONG) ) + Sum of all Stroke Lengths */
  148.   /*********************************************************************/
  149.   ULONG ulLastSignatureSize;
  150.  
  151. ULONG     *ulEachStrokeLength;           /* array of stroke lengths          */
  152. CHAR      szSelectedName[LASTNAME_MAX + 1];
  153.  
  154. typedef struct _APPLICATION {
  155.   CHAR szLastName[LASTNAME_MAX + 1];
  156.   CHAR szFirstName[FIRSTNAME_MAX + 1];
  157.   CHAR szAddress[ADDRESS_MAX + 1];
  158.   CHAR szCity[CITY_MAX + 1];
  159.   CHAR szState[STATE_MAX + 1];
  160.   CHAR szZip[ZIP_MAX + 1];
  161.   ULONG  ulStrokeTotal;            /* total number of strokes in signature   */
  162.   ULONG  ulSignatureSize;          /* includes length bytes and stroke bytes */
  163. } APPLICATION;
  164. APPLICATION   App;                 /* store applicion information            */
  165.  
  166. /**************************************************/
  167. /* Stroke Data from Signature (QUERY_STROKE_DATA) */
  168. /**************************************************/
  169. PSKETCHSTROKEDEF pStrokeData = NULL;
  170.  
  171.