home *** CD-ROM | disk | FTP | other *** search
/ ActiveX Programming Unleashed CD / AXU.iso / componen / interact / demo / data.2 / samples / ansic / INTERACT / SCREEN.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-28  |  27.6 KB  |  621 lines

  1. #ifndef __PVPLUS_H
  2. #define __PVPLUS_H
  3.  
  4. #ifndef PV
  5.     #ifdef WIN32
  6.     typedef HANDLE VIEW;
  7.     typedef int  VWFIELD;
  8.     #else
  9.     typedef HANDLE VIEW;
  10.     typedef int  VWFIELD;
  11.     #endif
  12. #endif
  13.  
  14. typedef int  FIELDNO;
  15. typedef LRESULT (CALLBACK *VIEWPROC)(HWND, UINT, WPARAM, LPARAM);
  16. typedef LRESULT (CALLBACK *FIELDPROC)(HWND, UINT, WPARAM, LPARAM);
  17.  
  18. #define DLGC_WANTPVMESSAGES  0x8000        // Control wants ProtoView specific messages
  19.  
  20. // Notification messages and codes
  21. #define VW_APPTOSCR        WM_USER + 0x900 // Convert variable to screen string, variable is pointed to by lParam
  22. #define VW_SCRTOAPP        WM_USER + 0x901 // Convert screen string to variable, variable is pointed to by lParam
  23.  
  24. //#ifdef WIN32
  25. #define VW_SETFIELDSTRING  WM_USER + 0x122 // Set Field string, string is pointed to by lParam
  26. #define VW_SETVIEWSTRING   WM_USER + 0x123
  27. //#else
  28. //#define VW_SETFIELDSTRING  WM_USER + 0x902 // Set Field string, string is pointed to by lParam
  29. //#define VW_SETVIEWSTRING   WM_USER + 0x903
  30. //#endif
  31. #define VW_GETFIELDSTRING  WM_USER + 0x904 // Place field string into lParam pointer
  32. #define VW_EDITFIELD       WM_USER + 0x905 // Field should edit its contents and set View error status
  33. #define VW_GETTEXTLIMIT    WM_USER + 0x906
  34. #define VW_GETFIELDINFO    WM_USER + 0x907 // Return the number of bytes for
  35.                                            // field variable and place variable
  36. #define WM_CTLCOLORVWSELECT WM_USER + 0x908  // WM_CTLCOLOR for Selected color in controls
  37.  
  38. // Error State values
  39. #define VW_ERRORSET        WM_USER + 0x909
  40. #define VW_ERRORCLEAR      WM_USER + 0x910
  41.  
  42. // Drag and Drop Notifications
  43. #define VW_DRAGSOURCE      WM_USER + 0x911
  44. #define VW_DROPTARGET      WM_USER + 0x912
  45. #define VW_WANTDROP        WM_USER + 0x913
  46. #define VW_DROPREMOVE      WM_USER + 0x914
  47.  
  48. #define VW_GETRESOURCEFULLPATH WM_USER + 0x915  // Used internally by workbench
  49.  
  50. // Error Status values
  51. #define VWERR_NOTENTERED   100
  52. #define VWERR_NOTFILLED    200
  53. #define VWERR_RANGE        300
  54. #define VWERR_NOTVALID     400
  55. #define VWERR_NOTCHOICE    500
  56. #define VWERR_NOTFOUND     600
  57.  
  58. // Error handling return codes
  59. #define VWERROR_NOTPROCESSED      0
  60. #define VWERROR_PROCESSED         1
  61. #define VWERROR_WARNING           2
  62. #define VWERROR_IGNORE            4
  63.  
  64. // Error display values
  65. #define VE_POPUP           0x20
  66. #define VE_LOOKUP          0x40
  67. #define VE_MSGBOX          0x80
  68. #define VE_MBOX            0x80
  69. #define VE_BEEP            0x100
  70.  
  71. // return values for VW_EDITFIELD
  72. #define VW_ERROR           -1
  73. #define VW_NOERROR         0
  74.  
  75. // Definitions for vwSetViewPosition() and vwBalloonMsg() flags
  76. #define VW_SCREENCOORD     0x01
  77. #define VW_SIZEPARENT      0x02
  78. #define VW_DLGCOORD        0x04
  79. #define VW_ABSALIGN        0x08
  80. #define VW_SCREENCENTER    0x10
  81. #define VW_REPAINT         0x20
  82. #define VW_COLOR           0x40
  83. #define VW_NOSHADOW        0x80
  84. #define VW_SQUARESHAPE     0x100
  85. #define VW_SINGLELINE      0x200
  86. #define VW_MOUSECLOSE      0x400
  87.  
  88. // Data type definitions for vwValidate function
  89. #define VW_INTEGER           1
  90. #define VW_LONG              2
  91. #define VW_DOUBLE            3
  92. #define VW_STRING            4
  93. #define VW_DATE              5
  94. #define VW_TIME              6
  95. #define VW_REAL              7
  96. #define VW_FLOAT             9
  97. #define VW_CHAR             10
  98. #define VW_TMSTRUCT         11
  99. #define VW_LONGDOUBLE       12
  100. #define VW_DATE_MMDDYY      13
  101. #define VW_DATE_MMDDYYYY    14
  102. #define VW_DATE_DDMMYY      15
  103. #define VW_DATE_DDMMYYYY    16
  104. #define VW_DATE_YYMMDD      17
  105. #define VW_DATE_YYYYMMDD    18
  106. #define VW_LBARRAY          19
  107. #define VW_CBARRAY          20
  108. #define VW_DATETIME         21
  109. #define VW_VARCHAR          22
  110. #define VW_BINARY           23
  111. #define VW_VARBINARY        24
  112. #define VW_SHORT            25
  113.  
  114. typedef unsigned short          VWTYPE;
  115. typedef unsigned short FAR *    LPVWTYPE;
  116.  
  117. // Date Conversion type values
  118. #define MMDDYY    0x01
  119. #define MMDDYYYY  0x02
  120. #define DDMMYY    0x04
  121. #define DDMMYYYY  0x08
  122. #define YYMMDD    0x10
  123. #define YYYYMMDD  0x20
  124.  
  125. // Font Style definitions
  126. #define FS_BOLD            1
  127. #define FS_ITALIC          2
  128. #define FS_UNDERLINE       4
  129. #define FS_STRIKEOUT       8
  130.  
  131. // Toolbar style definitions
  132. #ifndef WIN32
  133. #define TB_LEFT            1
  134. #define TB_RIGHT           2
  135. #define TB_TOP             4
  136. #define TB_BOTTOM          8
  137. #endif
  138.  
  139. // Alternate Toolbar style definitions to avoid commctrl.h conflicts
  140. #define PV_LEFT            1
  141. #define PV_RIGHT           2
  142. #define PV_TOP             4
  143. #define PV_BOTTOM          8
  144.  
  145. // Dynamic Status Line definitions
  146. #define DSL_VIEW          0x04
  147. #define DSL_TOP_TB        0x08
  148. #define DSL_BOTTOM_TB     0x010
  149. #define DSL_FILE          0x020
  150. #define DSL_RESOURCE      0x040
  151.  
  152. #define CN_COLORCHANGE      0x050  // Color control notification message
  153. #define CTLCOLOR_VWSELECT   0x050  // WM_CTLCOLOR for Selected color in controls
  154. #define DM_GETDATEFORMAT    WM_USER + 10  // Date control format retrieval message
  155.  
  156.  
  157. // Flags for Table functions
  158. #define TABLE_FILE         0x00
  159. #define TABLE_RESOURCE     0x08
  160.  
  161. #define MAX_FIELD_LEN    160       // Maximum Field length
  162. #define ITEM_NAME_MAX_SIZE  50     // Maximum DDE identifier length
  163.  
  164. // vwPrintFile() and vwPrintBuffer() error codes
  165. #define VW_MEM_ERROR         1
  166. #define VW_FILE_OPEN_ERROR   2
  167. #define VW_FILE_READ_ERROR   3
  168. #define VW_PRINTER_ERROR     4
  169. #define VW_DLG_CREATE_ERROR  5
  170.  
  171. // vwPrintFileExt() and vwPrintBufferExt() flags
  172. #define   VW_PRINT_OPT_NODLG    2
  173. #define   VW_PRINT_OPT_OWN_DC   4
  174.  
  175. // Defines for CopyFile() return codes
  176. #define FILE_ERROR 1
  177. #define OUT_OF_DISK_SPACE 2
  178.  
  179. // Defines for vwEditFile() messages
  180. #define VW_GETEDITORWINDOW  WM_USER+100
  181. #define VW_MODELESS         0x000
  182. #define VW_MODAL            0x001
  183. #define VW_NOSHOW           0x002
  184.  
  185. // Macros to define common rgb colors
  186. #define rgbRED     RGB(255, 0, 0)
  187. #define rgbGREEN   RGB(0, 255, 0)
  188. #define rgbBLUE    RGB(0, 0, 255)
  189. #define rgbYELLOW  RGB(255, 255, 0)
  190. #define rgbCYAN    RGB(0, 255, 255)
  191. #define rgbWHITE   RGB(255, 255, 255)
  192. #define rgbBLACK   RGB(0, 0, 0)
  193. #define rgbGRAY    RGB(192, 192, 192)
  194.  
  195. // Macros for sending and receiving WM_COMMAND messages for NT and Win 3.x
  196. // Also, macros for getting and setting window word and long values.
  197. #define WINDOW_PARAMS   HWND hWnd, UINT wMessage, WPARAM wParam, LPARAM lParam
  198. #ifdef WIN32
  199.     #define SENDCOMMAND(hWnd, Id, Notify, CtlWnd)  SendMessage(hWnd, WM_COMMAND, MAKELONG(Id, Notify), (LPARAM)CtlWnd)
  200.     #define WMCOMMAND(wParam, lParam)   case WM_COMMAND : { WORD Id, Notify; HWND CtlWnd; Id = LOWORD(wParam); Notify = HIWORD(wParam); CtlWnd = (HWND)lParam;
  201.     #define COMMAND_PARAMS(wParam, lParam)   WORD Id, Notify; HWND CtlWnd; Id = LOWORD(wParam); Notify = HIWORD(wParam); CtlWnd = (HWND)lParam;
  202.     #define GET_INSTANCE(hWnd)   (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE)
  203.     #define SET_INSTANCE(hWnd, hInstance)   SetWindowLong(hWnd, GWL_HINSTANCE, (LONG)hInstance)
  204.     #define GET_CLASSICON(hWnd)   (HICON)GetClassLong(hWnd, GCL_HICON)
  205.     #define SET_CLASSICON(hWnd, hIcon)   (HICON)SetClassLong(hWnd, GCL_HICON, (LONG)hIcon)
  206.     #define GET_CLASSCURSOR(hWnd)   (HCURSOR)GetClassLong(hWnd, GCL_HCURSOR)
  207.     #define SET_CLASSCURSOR(hWnd, hCursor)   (HCURSOR)SetClassLong(hWnd, GCL_HCURSOR, (LONG)hCursor)
  208.     #define GET_CLASSBRUSH(hWnd)   (HBRUSH)GetClassLong(hWnd, GCL_HBRBACKGROUND)
  209.     #define SET_CLASSBRUSH(hWnd, hBrush)   (HBRUSH)SetClassLong(hWnd, GCL_HBRBACKGROUND, (LONG)hBrush)
  210.     #define GET_ID(hWnd)  GetWindowLong(hWnd, GWL_ID)
  211.     #define SET_ID(hWnd, x)  SetWindowLong(hWnd, GWL_ID, (LONG)x)
  212.     #define SETFONT(hWnd, x)   SetWindowLong(hWnd, GWL_HFONT, (LONG)x)
  213.     #define GETFONT(hWnd)                   (HFONT)GetWindowLong(hWnd, GWL_HFONT)
  214.     #define SETPARENT(hWnd, x)   SetWindowLong(hWnd, GWL_HWNDPARENT, (LONG)x)
  215.     #define GETPARENT(hWnd)    (HWND)GetWindowLong(hWnd, GWL_HWNDPARENT)
  216.     #define SEND_EM_SETSEL(hWnd, x, y) SendMessage(hWnd, EM_SETSEL, x, y)
  217. #else
  218.     #define SENDCOMMAND(hWnd, Id, Notify, CtlWnd)  SendMessage(hWnd, WM_COMMAND, Id, MAKELONG(CtlWnd, Notify))
  219.     #define WMCOMMAND(wParam, lParam)   case WM_COMMAND : { WORD Id, Notify; HWND CtlWnd; Id = wParam; Notify = HIWORD(lParam); CtlWnd = (HWND)LOWORD(lParam);
  220.     #define COMMAND_PARAMS(wParam, lParam)   WORD Id, Notify; HWND CtlWnd; Id = wParam; Notify = HIWORD(lParam); CtlWnd = (HWND)LOWORD(lParam);
  221.     #define GET_INSTANCE(hWnd)   (HINSTANCE)GetWindowWord(hWnd, GWW_HINSTANCE)
  222.     #define SET_INSTANCE(hWnd, hInstance)   (HINSTANCE)SetWindowWord(hWnd, GWW_HINSTANCE, (WORD)hInstance)
  223.     #define GET_CLASSICON(hWnd)   (HICON)GetClassWord(hWnd, GCW_HICON)
  224.     #define SET_CLASSICON(hWnd, hIcon)   (HICON)SetClassWord(hWnd, GCW_HICON, (WORD)hIcon)
  225.     #define GET_CLASSCURSOR(hWnd)   (HCURSOR)GetClassWord(hWnd, GCW_HCURSOR)
  226.     #define SET_CLASSCURSOR(hWnd, hCursor)   (HCURSOR)SetClassWord(hWnd, GCW_HCURSOR, (WORD)hCursor)
  227.     #define GET_CLASSBRUSH(hWnd)   (HBRUSH)GetClassWord(hWnd, GCW_HBRBACKGROUND)
  228.     #define SET_CLASSBRUSH(hWnd, hBrush)   (HBRUSH)SetClassWord(hWnd, GCW_HBRBACKGROUND, (WORD)hBrush)
  229.     #define GET_ID(hWnd)  GetWindowWord(hWnd, GWW_ID)
  230.     #define SET_ID(hWnd, x)  SetWindowWord(hWnd, GWW_ID, (WORD)x)
  231.     #define SETFONT(hWnd, x)   SetWindowWord(hWnd, GWW_HFONT, (WORD)x)
  232.     #define GETFONT(hWnd)                   (HFONT)GetWindowWord(hWnd, GWW_HFONT)
  233.     #define SETPARENT(hWnd, x) SetWindowWord(hWnd, GWW_HWNDPARENT, (WORD)x)
  234.     #define GETPARENT(hWnd)   (HWND)GetWindowWord(hWnd, GWW_HWNDPARENT)
  235.     #define SEND_EM_SETSEL(hWnd, x, y) SendMessage(hWnd, EM_SETSEL, 0, MAKELONG(x, y))
  236. #endif
  237.  
  238. // Type definition for ListBox interface data structure.
  239. typedef struct LBARRAYtag {
  240.       int  Offset;               // Current Selection, 0 based.
  241.       char FAR *SelectedString;  // Pointer to selected string
  242.       char FAR * FAR * Strings;  // Pointer to array of strings to be loaded.
  243. } LBARRAY;
  244.  
  245. // Type definition for ComboBox interface data structure.
  246. typedef struct CBARRAYtag {
  247.       int  Offset;                // Current Selection, 0 based
  248.       char FAR * SelectedString;  // Pointer to Editbox contents.
  249.       char FAR * FAR * Strings;   // Pointer to array of strings to be loaded.
  250. } CBARRAY;
  251.  
  252. // Error handling structure
  253. typedef struct VWERRORtag {
  254.     HWND   hWnd;                  // Error field window
  255.     int    CtlID;                 // Error field ID
  256.     int    DataType;              // Data type of field control
  257.     int    ErrorType;             // Type of error that has ocurred
  258.     LPSTR  szMethods;             // Method string
  259.     LPSTR  szMsg;                 // Message text
  260.     LPSTR  szCaption;             // Caption text
  261.     int    x, y, cx, cy;          // Position values
  262.     LONG   TextColor;             // Text color
  263.     LONG   BackColor;             // Background color
  264.     HFONT  hFont;                 // Text font
  265.     LONG   lFlags;                // Style flags
  266. } VWERROR;
  267.  
  268. typedef VWERROR FAR *PVWERROR;
  269.  
  270. // Error handling return codes
  271. #define VWERROR_PROCESSED         1
  272. #define VWERROR_WARNING           2
  273. #define VWERROR_IGNORE            4
  274.  
  275. // Drag and Drop Styles
  276. #define DDS_MOVE                  0x01
  277. #define DDS_COPY                  0x02
  278. #define DDS_APPEND                0x04
  279. #define DDS_INSERT                0x08
  280. #define DDS_PASTE                 0x10
  281.  
  282. // Type definition for Drag and Drop interface data structure.
  283. typedef struct DRAGDROPtag {
  284.       HWND     hWndSource;
  285.       FIELDNO  SourceID;
  286.       LONG     lStyle;
  287.       LONG     lDataType;
  288.       char     szDragChannel[30];
  289.       HCURSOR  hMoveCur;
  290.       HCURSOR  hDragCur;
  291.       HCURSOR  hNoDropCur;
  292.       HGLOBAL  hData;
  293. } DRAGDROP;
  294. typedef DRAGDROP FAR *LPDRAGDROP;
  295.  
  296. // Macro definitions for obtaining View and Field number parameters from
  297. // within ViewProcs and FieldProcs.
  298.  
  299. #define GETVIEW   VIEW View = vwGetView(hWnd)
  300. #define GETFIELD  VWFIELD Field = GET_ID(hWnd)
  301.  
  302. #define vwGetMacroParm(x,y,z)    vwGetMethodParam(x,y,z)
  303. #define vwUnHideField(x, y) vwUnhideField(x, y)
  304. #define vwUnHideTextField(x, y, z) vwUnhideTextField(x, y, z)
  305. #define vwUnHideView(x) vwUnhideView(x)
  306. #define vwUnProtectField(x, y) vwUnprotectField(x, y)
  307. #define vwSetViewErrorStatus(x, y, z) vwSetViewStatus(x, y, z)
  308.  
  309. #ifdef __cplusplus
  310. extern "C" {            /* Assume C declarations for C++ */
  311. #endif  /* __cplusplus */
  312.  
  313. BOOL      WINAPI RegistervwWndProc(HINSTANCE);
  314.  
  315. // Default message processing function declarations for winctl.dll field controls
  316. LRESULT CALLBACK DefEditProc (HWND, UINT, WPARAM, LPARAM);
  317. LRESULT CALLBACK DefListBoxProc (HWND, UINT, WPARAM, LPARAM);
  318. LRESULT CALLBACK DefComboBoxProc (HWND, UINT, WPARAM, LPARAM);
  319. LRESULT CALLBACK DefStaticProc (HWND, UINT, WPARAM, LPARAM);
  320. LRESULT CALLBACK DefScrollProc (HWND, UINT, WPARAM, LPARAM);
  321. LRESULT CALLBACK DefButtonProc (HWND, UINT, WPARAM, LPARAM);
  322. LRESULT CALLBACK DefViewProc(HWND, UINT, WPARAM, LPARAM);
  323. LRESULT CALLBACK DefFrameViewProc(HWND, HWND, UINT, WPARAM, LPARAM);
  324. LRESULT CALLBACK DefMDIChildViewProc(HWND, UINT, WPARAM, LPARAM);
  325. LRESULT CALLBACK EditFileViewProc(HWND, UINT, WPARAM, LPARAM);
  326.  
  327. VOID      WINAPI DisplayDIBitmap(HWND,HDC,HANDLE,int,int);
  328. HANDLE    WINAPI ICORead(HANDLE, HWND,char far *);
  329.  
  330. //  Function declarations for ProtoView utility functions
  331. #ifdef WIN32
  332.  
  333. LPTSTR    WINAPI lstrncpy(LPSTR, LPCSTR, int);
  334. LPTSTR    WINAPI lstrchr(LPSTR, char);
  335. int       WINAPI lstrdigits(LPTSTR);
  336. int       WINAPI lstrncmp(LPCSTR, LPCSTR, int);
  337. int       WINAPI lstricmp(LPCSTR, LPCSTR);
  338. int       WINAPI lstrnicmp(LPCSTR, LPCSTR, int);
  339. void      WINAPI lstrpad(LPSTR, int);
  340. LPTSTR    WINAPI lstrright(LPSTR, int);
  341. LPTSTR    WINAPI lstristr(LPCSTR, LPCSTR);
  342. LPTSTR    WINAPI lstrpreclip(LPSTR);
  343. LPTSTR    WINAPI lstrminus(LPSTR);
  344. LPTSTR    WINAPI lstrclip(LPSTR);
  345. WORD      WINAPI lstrcount(LPSTR, char);
  346. LPTSTR    WINAPI lstrnocomma(LPSTR, char);
  347. LPTSTR    WINAPI lstrcomma(LPSTR, char, char);
  348. LPTSTR    WINAPI lstrnodecp(LPSTR, char);
  349. LPTSTR    WINAPI lstrdecp(LPSTR, int, char);
  350. LPTSTR    WINAPI lstrremove(LPSTR, LPCSTR);
  351. LPTSTR    WINAPI lstrremovestr(LPSTR, LPCSTR);
  352. #else
  353. LPSTR     WINAPI lstrncpy(LPSTR, LPSTR, int);
  354. LPSTR     WINAPI lstrchr(LPSTR, char);
  355. int       WINAPI lstrdigits(LPSTR);
  356. int       WINAPI lstrncmp(LPSTR, LPSTR, int);
  357. int       WINAPI lstricmp(LPSTR, LPSTR);
  358. int       WINAPI lstrnicmp(LPSTR, LPSTR, int);
  359. void      WINAPI lstrpad(LPSTR, int);
  360. LPSTR     WINAPI lstrright(LPSTR, int);
  361. LPSTR     WINAPI lstristr(LPSTR, LPSTR);
  362. LPSTR     WINAPI lstrpreclip(LPSTR);
  363. LPSTR     WINAPI lstrminus(LPSTR);
  364. LPSTR     WINAPI lstrclip(LPSTR);
  365. WORD      WINAPI lstrcount(LPSTR, char);
  366. LPSTR     WINAPI lstrnocomma(LPSTR, char);
  367. LPSTR     WINAPI lstrcomma(LPSTR, char, char);
  368. LPSTR     WINAPI lstrnodecp(LPSTR, char);
  369. LPSTR     WINAPI lstrdecp(LPSTR, int, char);
  370. LPSTR     WINAPI lstrremove(LPSTR, LPSTR);
  371. LPSTR     WINAPI lstrremovestr(LPSTR, LPSTR);
  372. #endif
  373. // Function declarations for the WinCtl Control Library
  374. BOOL      WINAPI vwAddMethodParam(LPSTR, LPSTR);
  375. HBITMAP   WINAPI vwBitmapFromDib(HANDLE, HPALETTE FAR *);
  376. BOOL      WINAPI vwClipboardCopyText(HWND, LPSTR, int);
  377. BOOL      WINAPI vwClipboardPasteText(HWND, LPSTR, int);
  378. int       WINAPI vwCopyFile(LPSTR, LPSTR);
  379. int       WINAPI vwDateCmp(struct tm far *, struct tm far *);
  380. void      WINAPI vwDateToTM(struct tm far *, LPSTR, int);
  381. char      WINAPI vwDeleteChar(LPSTR, int);
  382. BOOL      WINAPI vwFreeTable(HGLOBAL);
  383. BOOL      WINAPI vwGetMethodParam(LPSTR, LPSTR, LPSTR);
  384. HWND      WINAPI vwGetModuleWindow(LPSTR);
  385. BOOL      WINAPI vwInitiateDDE(HWND, LPSTR);
  386. BOOL      WINAPI vwIsDateValid(struct tm far *t);
  387. void      WINAPI vwInsertChar(LPSTR, int, int);
  388. BOOL      WINAPI vwIsTimeValid(struct tm far *t);
  389. HBITMAP   WINAPI vwLoadDIBitmap(HINSTANCE, LPCSTR, HPALETTE FAR *);
  390. char      WINAPI vwOverWriteChar(LPSTR, char, int);
  391. LONG      WINAPI vwProcessDDE(HWND, UINT, WPARAM, LONG, LPSTR);
  392. BOOL      WINAPI vwProcessDDEData(HWND, LPSTR);
  393. BOOL      WINAPI vwRequestDDEData(HWND);
  394. LRESULT   WINAPI vwProcessDragDrop(HWND, UINT, WPARAM, LPARAM);
  395. BOOL      WINAPI vwRemoveMethodParam(LPSTR, LPSTR);
  396. HGLOBAL   WINAPI vwSearchTable(LPSTR, int, LPSTR, char, HINSTANCE, LONG);
  397. void      WINAPI vwUnadviseDDE(HWND);
  398. BOOL      WINAPI vwValidate(HWND, int, void far *, LPSTR, LPSTR);
  399. BOOL      WINAPI vwValidateRange(int, void far *, LPSTR);
  400. BOOL      WINAPI vwValidateChoice(int, void far *, LPSTR);
  401.  
  402. #ifdef __USESCREEN
  403.  
  404. // Function declarations for ProtoView Function Library
  405. BOOL      WINAPI vwAnimateField(VIEW, VWFIELD, int, int, WORD, WORD, WORD);
  406. HWND      WINAPI vwBalloonMsg(HWND, LPSTR, int, int, int, int, HFONT, LONG, LONG, LONG);
  407. HWND      WINAPI vwBrowse(HGLOBAL, LPSTR, LPSTR, LPSTR, LPSTR, int, int, int, int, int, WORD, DLGPROC);
  408. HFONT     WINAPI vwCreateFont(LPSTR, WORD, WORD);
  409. VIEW      WINAPI vwCreateView(HINSTANCE, LPCSTR, HWND, VIEWPROC, void FAR *);
  410. VIEW      WINAPI vwCreateMDIChildView(HINSTANCE, LPCSTR, HWND, VIEWPROC, MDICREATESTRUCT FAR *);
  411. BOOL      WINAPI vwDeleteField(VIEW, VWFIELD);
  412. BOOL      WINAPI vwDeleteTextField(VIEW, VWFIELD);
  413. void      WINAPI vwDialogToScreen(LPRECT);
  414. void      WINAPI vwDoAppToScr(VIEW, VWFIELD);
  415. void      WINAPI vwDoScrToApp(VIEW, VWFIELD);
  416. BOOL      WINAPI vwEditField(VIEW, VWFIELD);
  417. HWND      WINAPI vwEditFile(HWND, LPSTR, LPSTR, int, int, int, int, int);
  418. BOOL      WINAPI vwEditView(VIEW);
  419. void      WINAPI vwEndModalView(VIEW, int);
  420. void      WINAPI vwFreeView(VIEW);
  421. HGLOBAL   WINAPI vwFileOpenDlg (HWND, LPSTR, LPSTR, WORD, DLGPROC);
  422. HGLOBAL   WINAPI vwFileSaveDlg (HWND, LPSTR, LPSTR, WORD FAR *, DLGPROC);
  423. WORD      WINAPI vwGetAllocFieldString(VIEW, VWFIELD, LPSTR, int);
  424. WORD      WINAPI vwGetCancelButton(VIEW View);
  425. VWFIELD   WINAPI vwGetCurrField(VIEW);
  426. LPSTR     WINAPI vwGetCurrVar(VIEW);
  427. FIELDPROC WINAPI vwGetDefFieldProc(VIEW, VWFIELD);
  428. HWND      WINAPI vwGetDSLWindow(VIEW);
  429. VWFIELD   WINAPI vwGetField(VIEW, HWND);
  430. HBRUSH    WINAPI vwGetFieldBackBrush(VIEW, VWFIELD);
  431. LONG      WINAPI vwGetFieldBkColor(VIEW, VWFIELD);
  432. BOOL      WINAPI vwGetFieldColors(VIEW, VWFIELD, LONG FAR*, LONG FAR*, LONG FAR*, LONG FAR*);
  433. int       WINAPI vwGetFieldCount(VIEW);
  434. WORD      WINAPI vwGetFieldDlgCode(VIEW, VWFIELD);
  435. int       WINAPI vwGetFieldFromID(VIEW, VWFIELD);
  436. int       WINAPI vwGetFieldHeight(VIEW, VWFIELD);
  437. VWFIELD   WINAPI vwGetFieldID(VIEW, void FAR *);
  438. VWFIELD   WINAPI vwGetFieldIDFromName(VIEW, LPSTR);
  439. WORD      WINAPI vwGetFieldLimit(VIEW, VWFIELD);
  440. BOOL      WINAPI vwGetFieldModified(VIEW, VWFIELD);
  441. LPSTR     WINAPI vwGetFieldName(VIEW, VWFIELD);
  442. BOOL      WINAPI vwGetFieldNameFromID(VIEW, VWFIELD, LPSTR, int);
  443. VWFIELD   WINAPI vwGetFieldNo(VIEW, void FAR *);
  444. HWND      WINAPI vwGetFieldNoWindow(VIEW, VWFIELD);
  445. FIELDPROC WINAPI vwGetFieldProc(VIEW, VWFIELD);
  446. HBRUSH    WINAPI vwGetFieldSelBackBrush(VIEW, VWFIELD);
  447. LONG      WINAPI vwGetFieldSelBkColor(VIEW, VWFIELD);
  448. LONG      WINAPI vwGetFieldSelTextColor(VIEW, VWFIELD);
  449. WORD      WINAPI vwGetFieldString(VIEW, VWFIELD, LPSTR, int);
  450. LONG      WINAPI vwGetFieldTextColor(VIEW, VWFIELD);
  451. void FAR *WINAPI vwGetFieldVar(VIEW, VWFIELD);
  452. int       WINAPI vwGetFieldWidth(VIEW, VWFIELD);
  453. VWFIELD   WINAPI vwGetFieldWndNo(VIEW, HWND);
  454. HWND      WINAPI vwGetFieldWindow(VIEW, VWFIELD);
  455. int       WINAPI vwGetFieldXPos(VIEW, VWFIELD);
  456. int       WINAPI vwGetFieldYPos(VIEW, VWFIELD);
  457. BOOL      WINAPI vwGetFontFlags(LPSTR, BYTE far *, BYTE far *);
  458. int       WINAPI vwGetIDFromField(VIEW, VWFIELD);
  459. WORD      WINAPI vwGetOKButton(VIEW);
  460. HDC       WINAPI vwGetPrinterDC(void);
  461. LPSTR     WINAPI vwGetSQLVarName(VIEW, VWFIELD);
  462. HWND      WINAPI vwGetSQLVarWnd(VIEW, LPSTR);
  463. VWFIELD   WINAPI vwGetSQLVarId(VIEW, LPSTR);
  464.  
  465. BOOL      WINAPI vwGetTextFieldColors(VIEW, VWFIELD, LONG FAR *, LONG FAR *);
  466. int       WINAPI vwGetTextFieldCount(VIEW);
  467. HFONT     WINAPI vwGetTextFieldFont(VIEW, VWFIELD);
  468. void      WINAPI vwGetTextFieldText(VIEW, VWFIELD, LPSTR, int);
  469. int       WINAPI vwGetTextFieldXPos(VIEW, VWFIELD);
  470. int       WINAPI vwGetTextFieldYPos(VIEW, VWFIELD);
  471. VIEW      WINAPI vwGetView(HWND);
  472. HBRUSH    WINAPI vwGetViewBackBrush(VIEW);
  473. void      WINAPI vwGetViewDefColors(VIEW, LONG FAR *, LONG FAR *, LONG FAR *, LONG FAR *);
  474. HANDLE    WINAPI vwGetViewDataHandle(VIEW);
  475. BOOL      WINAPI vwGetViewDropData(VIEW, LPSTR, LPSTR, UINT);
  476. void      WINAPI vwGetViewErrorColors(VIEW, LONG FAR *, LONG FAR *);
  477. WORD      WINAPI vwGetViewErrorStatus(VIEW);
  478. LONG      WINAPI vwGetViewExStyle(VIEW);
  479. int       WINAPI vwGetViewHeight(VIEW View);
  480. HICON     WINAPI vwGetViewIcon(VIEW);
  481. HINSTANCE WINAPI vwGetViewInstance(VIEW);
  482. LONG      WINAPI vwGetViewLongDataHandle(VIEW);
  483. HMENU     WINAPI vwGetViewMenu(VIEW);
  484. HWND      WINAPI vwGetViewParent(VIEW);
  485. VIEWPROC  WINAPI vwGetViewProc(VIEW);
  486. int       WINAPI vwGetViewResourceName(VIEW, LPSTR);
  487. HBRUSH    WINAPI vwGetViewSelBackBrush(VIEW);
  488. WORD      WINAPI vwGetViewString(VIEW, LPSTR, int);
  489. LONG      WINAPI vwGetViewStyle(VIEW);
  490. void far* WINAPI vwGetViewThisPtr(VIEW);
  491. VIEW      WINAPI vwGetViewToolBar(HWND, LONG);
  492. int       WINAPI vwGetViewWidth(VIEW View);
  493. HWND      WINAPI vwGetViewWindow(VIEW);
  494. int       WINAPI vwGetViewXPos(VIEW View);
  495. int       WINAPI vwGetViewYPos(VIEW View);
  496. int       WINAPI vwGotoFirstField(VIEW);
  497. BOOL      WINAPI vwHideField(VIEW, VWFIELD);
  498. BOOL      WINAPI vwHideTextField(VIEW, VWFIELD, BOOL);
  499. BOOL      WINAPI vwHideView(VIEW);
  500. LONG      WINAPI vwInterFieldProc(HWND, UINT, WPARAM, LPARAM);
  501. BOOL      WINAPI vwIsFieldColored(VIEW, VWFIELD);
  502. BOOL      WINAPI vwIsFieldProtected(VIEW, VWFIELD);
  503. BOOL      WINAPI vwIsView(VIEW);
  504. BOOL      WINAPI vwIsViewActive(VIEW);
  505. HGLOBAL   WINAPI vwLoadTable(LPCSTR, WORD, HINSTANCE, WORD, char, LPCSTR, LPCSTR, LONG);
  506. void      WINAPI vwMapDialogToScreen(HWND, LPRECT);
  507. void      WINAPI vwMapScreenToDialog(HWND, LPRECT);
  508. LPSTR     WINAPI vwMessageLookup(VIEW, LPSTR, LPSTR, LONG);
  509. HGLOBAL   WINAPI vwOpenDib(LPSTR);
  510. VIEW      WINAPI vwOpenMDIChildView(HINSTANCE, LPSTR, LONG, HWND, VIEWPROC, MDICREATESTRUCT FAR *);
  511. VIEW      WINAPI vwOpenView(HINSTANCE, LPSTR, LONG, HWND, VIEWPROC, void FAR *);
  512. void      WINAPI vwPaintField(VIEW, VWFIELD);
  513. void      WINAPI vwPaintViewFields(VIEW);
  514. short     WINAPI vwPrintBuffer(HWND, HGLOBAL, LPSTR);
  515. short     WINAPI vwPrintBufferExt(HWND, HGLOBAL, LPSTR, HDC, LONG);
  516. short     WINAPI vwPrintFile(HWND, LPSTR, LPSTR);
  517. short     WINAPI vwPrintFileExt(HWND, LPSTR, LPSTR, HDC, LONG);
  518. void      WINAPI vwProcessDSL(HWND, UINT, WPARAM, LPARAM);
  519. void      WINAPI vwProtectField(VIEW, VWFIELD);
  520. BOOL      WINAPI vwRemoveToolBar(HWND, LONG);
  521. BOOL      WINAPI vwRemoveViewDSL(VIEW);
  522. VWFIELD   WINAPI vwResetField(VIEW, VWFIELD, LPSTR, LPSTR, LONG, int, int, int, int, void FAR *, FIELDPROC);
  523. VWFIELD   WINAPI vwResetFieldEx(VIEW, VWFIELD, LPSTR, LPSTR, LONG, LONG, int, int, int, int, void FAR *, FIELDPROC);
  524. void      WINAPI vwResetFieldColors(VIEW, VWFIELD);
  525. void      WINAPI vwResetViewError(VIEW);
  526. void      WINAPI vwScreenToDialog(LPRECT);
  527. BOOL      WINAPI vwSetAllocFieldString(VIEW, VWFIELD, LPSTR);
  528. VWFIELD   WINAPI vwSetCancelButton(VIEW, VWFIELD);
  529. void      WINAPI vwSetDefFieldProc(VIEW, VWFIELD, FIELDPROC);
  530. void      WINAPI vwSetDefViewProc(VIEW, VIEWPROC);
  531. void      WINAPI vwSetDSLWindow(VIEW, HWND);
  532. VWFIELD   WINAPI vwSetField(VIEW, VWFIELD, LPSTR, LPSTR, LONG, int, int, int, int, void FAR *, FIELDPROC);
  533. VWFIELD   WINAPI vwSetFieldEx(VIEW, VWFIELD, LPSTR, LPSTR, LONG, LONG, int, int, int, int, void FAR *, FIELDPROC);
  534. void      WINAPI vwSetFieldColors(VIEW, VWFIELD, LONG, LONG, LONG, LONG);
  535. void      WINAPI vwSetFieldDlgCode(VIEW, VWFIELD, int);
  536. int       WINAPI vwSetFieldFocus(VIEW, VWFIELD);
  537. HFONT     WINAPI vwSetFieldFont(VIEW, VWFIELD, HFONT);
  538. void      WINAPI vwSetFieldHeight(VIEW, VWFIELD, int, BOOL);
  539. BOOL      WINAPI vwSetFieldID(VIEW, VWFIELD, VWFIELD);
  540. void      WINAPI vwSetFieldLimit(VIEW, VWFIELD, int);
  541. void      WINAPI vwSetFieldModified(VIEW, VWFIELD, BOOL);
  542. BOOL      WINAPI vwSetFieldName(VIEW, VWFIELD, LPSTR);
  543. void      WINAPI vwSetFieldProc(VIEW, VWFIELD, FIELDPROC);
  544. BOOL      WINAPI vwSetFieldString(VIEW, VWFIELD, LPSTR);
  545. void      WINAPI vwSetFieldStyle(VIEW, VWFIELD, long, BOOL);
  546. void      WINAPI vwSetFieldVar(VIEW, VWFIELD, void FAR *);
  547. void      WINAPI vwSetFieldWidth(VIEW, VWFIELD, int, BOOL);
  548. void      WINAPI vwSetFieldXPos(VIEW, VWFIELD, int, BOOL);
  549. void      WINAPI vwSetFieldYPos(VIEW, VWFIELD, int, BOOL);
  550. WORD      WINAPI vwSetFocusNextField(VIEW View);
  551. WORD      WINAPI vwSetFocusPrevField(VIEW View);
  552. VWFIELD   WINAPI vwSetOKButton(VIEW, VWFIELD);
  553. void      WINAPI vwSetSpecialKey(VIEW, DLGPROC);
  554. BOOL      WINAPI vwSetSQLVar(VIEW, VWFIELD, void FAR *, LPSTR);
  555. BOOL      WINAPI vwSetStatusLineId(HWND, VWFIELD);
  556. VWFIELD   WINAPI vwSetTextField(VIEW, int, int, LPSTR, HFONT);
  557. void      WINAPI vwSetTextFieldColors(VIEW, VWFIELD, LONG, LONG);
  558. HFONT     WINAPI vwSetTextFieldFont(VIEW, VWFIELD, HFONT);
  559. void      WINAPI vwSetTextFieldText(VIEW, VWFIELD, LPSTR);
  560. void      WINAPI vwSetTextFieldXPos(VIEW, VWFIELD, int);
  561. void      WINAPI vwSetTextFieldYPos(VIEW, VWFIELD, int);
  562. BOOL      WINAPI vwSetToolBarView(HWND, VIEW, LONG);
  563. void      WINAPI vwSetViewBackBrush(VIEW, HBRUSH);
  564. LONG      WINAPI vwSetViewBkColor(VIEW, LONG);
  565. void      WINAPI vwSetViewCaption(VIEW, LPSTR);
  566. void      WINAPI vwSetViewDataHandle(VIEW, HANDLE);
  567. void      WINAPI vwSetViewDefColors(VIEW, LONG, LONG, LONG, LONG);
  568. BOOL      WINAPI vwSetViewDSL(VIEW, LPSTR, VWFIELD, LONG);
  569. BOOL      WINAPI vwSetViewDSLText(VIEW, LPSTR);
  570. void      WINAPI vwSetViewEditingOff(VIEW);
  571. void      WINAPI vwSetViewEditingOn(VIEW);
  572. BOOL      WINAPI vwSetViewError(VIEW, VWFIELD, LONG, WORD, LPSTR, WORD);
  573. void      WINAPI vwSetViewErrorColors(VIEW, LONG, LONG);
  574. BOOL      WINAPI vwSetViewMessageFile(VIEW, LPSTR);
  575. void      WINAPI vwSetViewExStyle(VIEW, LONG);
  576. BOOL      WINAPI vwSetViewFont(VIEW, LPSTR, int, int, BOOL);
  577. void      WINAPI vwSetViewHeight(VIEW, int, BOOL);
  578. void      WINAPI vwSetViewIcon(VIEW, HICON);
  579. void      WINAPI vwSetViewInstance(VIEW, HINSTANCE);
  580. void      WINAPI vwSetViewLongDataHandle(VIEW, LONG);
  581. void      WINAPI vwSetViewMenu(VIEW, LPSTR);
  582. void      WINAPI vwSetViewName(VIEW, LPSTR);
  583. void      WINAPI vwSetViewPosition(VIEW, int, int, int, int, WORD);
  584. void      WINAPI vwSetViewProc(VIEW, VIEWPROC);
  585. LONG      WINAPI vwSetViewSelBkColor(VIEW, LONG);
  586. LONG      WINAPI vwSetViewSelTextColor(VIEW, LONG);
  587. void      WINAPI vwSetViewStatus(VIEW, VWFIELD, LONG);
  588. BOOL      WINAPI vwSetViewString(VIEW, LPSTR);
  589. void      WINAPI vwSetViewStyle(VIEW, LONG);
  590. LONG      WINAPI vwSetViewTextColor(VIEW, LONG);
  591. void      WINAPI vwSetViewThisPtr(VIEW, void far *);
  592. VIEW      WINAPI vwSetViewToolBar(HWND, LPCSTR, VIEWPROC, LONG);
  593. void      WINAPI vwSetViewWidth(VIEW, int, BOOL);
  594. void      WINAPI vwSetViewXPos(VIEW, int, BOOL);
  595. void      WINAPI vwSetViewYPos(VIEW, int, BOOL);
  596. HWND      WINAPI vwShowMDIChildView(VIEW);
  597. BOOL      WINAPI vwShowModalView(VIEW);
  598. HWND      WINAPI vwShowView(VIEW);
  599. HWND      WINAPI vwShowViewWindow(VIEW, int);
  600. HGLOBAL   WINAPI vwShowTable(HWND, LPSTR, LONG, int, int, int, int, char, WORD, HINSTANCE, WORD, LPSTR, LPSTR, LONG);
  601. BOOL      WINAPI vwSizeMDIClient(HWND, HWND, BOOL);
  602. BOOL      WINAPI vwSizeToolBars(HWND);
  603. void      WINAPI vwTMToDate(LPSTR, struct tm far *, int, char);
  604. BOOL      WINAPI vwUnhideField(VIEW, VWFIELD);
  605. BOOL      WINAPI vwUnhideTextField(VIEW, VWFIELD, BOOL);
  606. BOOL      WINAPI vwUnhideView(VIEW);
  607. void      WINAPI vwUnprotectField(VIEW, VWFIELD);
  608. void      WINAPI vwUpdateScreen(VIEW);
  609. void      WINAPI vwUpdateApp(VIEW);
  610. BOOL      WINAPI vwUpdateFromViewData(VIEW, VIEW, VWFIELD);
  611. BOOL      WINAPI vwWait(VIEW View, int Time);
  612. #endif // __USESCREEN
  613.  
  614. #ifdef __cplusplus
  615. }
  616. #endif  /* __cplusplus */
  617.  
  618. #endif // PVPLUS_H
  619.  
  620.  
  621.