home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tools / coolwork / cw.h_ / cw.h
C/C++ Source or Header  |  1994-02-19  |  8KB  |  237 lines

  1. /* COOL Works App Framework header */
  2. #ifndef CW_HEADER
  3. #define APPDIR  101
  4. #define SRCDIR  102
  5. #define DEMOOPT 103
  6. #define HELPOPT 104
  7. #define SRCOPT  105
  8. #define MSCOPT  106
  9. #define CW_HEADER
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13.  
  14. /*********************/
  15. /*     Data types    */
  16. typedef struct
  17.                                 {
  18.                                 int id;
  19.                                 WORD typelen;
  20.                                 LPSTR value;
  21.         } DLGITEMS, FAR *LPDLGITEMS;
  22.  
  23.  
  24. /*********************/
  25. /* General functions */
  26. BOOL WINAPI cw_Begin(HANDLE hInst);
  27. BOOL WINAPI cw_BeginIcons(HANDLE,HICON,HICON,HICON);
  28. void WINAPI cw_End(HANDLE hInst);
  29. LONG WINAPI cw_CoolWorxVersion(void);
  30. BOOL WINAPI cw_ModelessRegister(HWND,BOOL);
  31. BOOL WINAPI cw_DialogProcess(LPMSG);
  32. WORD WINAPI cw_Run(HWND w,HWND mdi,int nracc,LPHANDLE ary,
  33.         BOOL idle,BOOL help);
  34. void WINAPI cw_SetIcon(HWND w,HICON ico); /*Set for class*/
  35. #define CW_MESSAGE (WM_USER+2000)
  36.  
  37.  
  38. /*********************/
  39. /* Ribbon functions */
  40. HWND WINAPI cw_Ribbon(LPCSTR id,HWND par,
  41.        LONG param);
  42. void WINAPI cw_SetRibbon(HWND,UINT id,LPCSTR s);
  43. BOOL WINAPI cw_RibbonAdj(HWND,LPRECT );
  44. BOOL WINAPI cw_RibbonInvAdj(HWND w,LPRECT r,BOOL vis,HWND stop);
  45. void WINAPI cw_GetClientRect(HWND,LPRECT);
  46. HWND WINAPI cw_GetRibbon(HWND w,LONG param);
  47. void WINAPI cw_EnableCommand(HMENU m,HWND w,
  48.   int cmd,BOOL f,BOOL vis);
  49. #define CWRIBBON_TOP 0
  50. #define CWRIBBON_BOTTOM 1
  51. #define CWRIBBON_RIGHT 2
  52. #define CWRIBBON_LEFT 3
  53. #define CWRIBBON_FOCUSOK 0x80000000L
  54.  
  55. /*********************/
  56. /*    SDI support    */
  57. HWND WINAPI cw_SDICreate(LPCSTR title,LPCSTR menu,
  58.    HANDLE hInst,FARPROC cb,LPCSTR top,LPCSTR left,LPCSTR right,
  59.    LPCSTR bot,LONG lParam);
  60. LONG WINAPI cw_DefWindowProc(HWND,UINT,UINT,LONG);
  61.  
  62.  
  63. /*********************/
  64. /*   MDI support    */
  65. LONG WINAPI cw_DefFrameProc(HWND w,WORD msg,WPARAM wParam,
  66.   LPARAM lParam);
  67. LONG WINAPI cw_DefMDIChildProc(HWND w,WORD msg,WPARAM wParam,
  68.         LPARAM lParam);
  69. HWND WINAPI cw_MDISetFrame(HWND frame,HWND client,
  70.   int winmenuoff,BOOL scroll,int id1,HANDLE acc,HWND toolbar);
  71. HWND WINAPI cw_MDICreateChild(LPCSTR cls,LPCSTR nam,DWORD sty,
  72.   int x,int y,int wid,int hi,LPCSTR m,HWND parent,
  73.   HANDLE hinst,int winmen,HACCEL acc,LPCSTR toolbar,
  74.   LONG tbwhere,DWORD lParam);
  75. HWND WINAPI cw_MDICreateFrame(LPCSTR title,LPCSTR menu,int winmen,
  76.     HANDLE hinst,FARPROC cb,BOOL scroll,
  77.     int id1,LPCSTR topbar,LPCSTR leftbar,LPCSTR rightbar,
  78.     LPCSTR botbar,HACCEL acc, LONG wheretool,LONG lParam);
  79. HWND WINAPI cw_MDIGetActive(HWND w);
  80. LONG WINAPI cw_MDISendActive(HWND w,WORD msg,WPARAM wParam,
  81.    DWORD lParam);
  82. void WINAPI cw_MDIShowRibbon(HWND rib,BOOL show);
  83. void WINAPI cw_MDIShowToolBar(HWND rib,LONG where,BOOL show);
  84. HWND WINAPI cw_MDIGetClientWindow(HWND);
  85. #define CW_MDICREATE (CW_MESSAGE+0)
  86. #define CW_SDICREATE (CW_MESSAGE+0)
  87. /* Private message */
  88. #define CW_MDICLDMENU (CW_MESSAGE+2)
  89.  
  90. /*********************/
  91. /*  Editor support  */
  92. BOOL WINAPI cw_EditOpenFile(HWND w,LONG styles,LPCSTR menuid,
  93.    int winmenu,LPCSTR fn,int siz,HACCEL acc,LPCSTR tb,LONG tbw);
  94. BOOL WINAPI cw_EditOpenFileName(HWND w,LONG styles,LPCSTR menuid,
  95.    int winmenu,LPCSTR fbuf,BOOL ro,HACCEL acc,LPCSTR tb,LONG tbw);
  96. BOOL WINAPI cw_EditSaveFile(HWND w,LPCSTR filename);
  97. BOOL WINAPI cw_EditPrint(HWND w);
  98. void WINAPI cw_EditSetFont(HWND w,LPLOGFONT lfp);
  99. void WINAPI cw_EditStatus(HWND w,LONG where,HWND ed,int id,
  100.   BOOL force);
  101. BOOL WINAPI cw_EditSDIOpenFile(HWND w,LPCSTR f,int siz);
  102. void WINAPI cw_EditSDINew(HWND w);
  103. BOOL WINAPI cw_EditOpen(HWND ed,LPCSTR fn,BOOL ro);
  104. void WINAPI cw_EditGetSel(HWND w,LPSTR bf,int sz);
  105. void WINAPI cw_EditFreePtr(LPCSTR p);
  106. LPCSTR WINAPI cw_EditGetPtr(HWND cwed);
  107. BOOL WINAPI cw_EditFind(HWND cwed,LPCSTR s,DWORD flag);
  108. int WINAPI cw_EditRepl(HWND cwed,LPCSTR s,LPCSTR r,DWORD flag);
  109. /* Editor styles */
  110. #define CE_HSCROLL 8
  111. #define CE_VSCROLL 16
  112.  
  113. /**********************/
  114. /* INI file functions */
  115. void WINAPI cw_IniOpenMenu(LPCSTR f,HMENU men,
  116.    int index,int pos,int id);
  117. void WINAPI cw_IniOpenSet(LPCSTR inifile,LPCSTR fn);
  118. void WINAPI cw_IniOpenSetNum(LPCSTR inifile,int n);
  119. void WINAPI cw_IniOpenGet(LPCSTR inifile,int base,
  120.         int id,LPCSTR fn,int siz);
  121. void WINAPI cw_IniPosSave(LPCSTR fn,LPCSTR key,HWND w);
  122. void WINAPI cw_IniPosSet(LPCSTR fn,LPCSTR key,HWND w);
  123.  
  124. /**********************/
  125. /*  Timer functions  */
  126. BOOL WINAPI cw_UseTimer(HWND w,BOOL f);
  127. #define CW_TIMER (CW_MESSAGE+3)
  128. #define CW_IDLE (CW_MESSAGE+5)
  129.  
  130. /**********************/
  131. /* Status bar support*/
  132. void WINAPI cw_StatusKeys(HWND w,LONG where,
  133.         int cap,int num,int ins,int scr);
  134. void WINAPI cw_ToggleKeyState(int key);
  135. void WINAPI cw_StatusTime(HWND w,LONG where,int id);
  136.  
  137. /*********************/
  138. /*    Help system    */
  139. void WINAPI cw_StatusHelp(HANDLE,HWND,UINT,UINT);
  140. #define CW_HELPID (CW_MESSAGE+6)
  141. #define CW_COMMDLGHELP (CW_MESSAGE+7)
  142.  
  143. /*********************/
  144. /*   Dialog system   */
  145.  
  146. LONG WINAPI cw_CommDlgID(HWND w);
  147. void WINAPI cw_DlgTransfer(HWND dlg, BOOL dir);
  148. void WINAPI cw_EndDialog(HWND dlg,int result,BOOL xfer);
  149. BOOL WINAPI cw_DlgSetItem(DLGITEMS FAR *items,int id,
  150.         unsigned tl,LPSTR val);
  151. HWND WINAPI cw_CreateDialogIndirectParam(HANDLE hInst,
  152.         const void FAR *tname,HWND parent,DLGPROC cb,
  153.         LPARAM lParam,DLGITEMS FAR *items);
  154. HWND WINAPI cw_CreateDialogParam(HANDLE hInst,LPCSTR tname,
  155.         HWND parent,DLGPROC cb,LPARAM lParam,DLGITEMS FAR *items);
  156. #define cw_CreateDialog(a,b,c,d,e) \
  157.                 cw_CreateDialogParam(a,b,c,d,0,e)
  158. #define cw_CreateDialogIndirect(a,b,c,d,e) \
  159.                 cw_CreateDialogIndirectParam(a,b,c,d,0,e)
  160. int WINAPI cw_DialogBoxParam(HANDLE hInst,LPCSTR tname,HWND parent,
  161.                                 DLGPROC cb,LPARAM lParam,DLGITEMS FAR *items);
  162. int WINAPI cw_DialogBoxIndirectParam(HANDLE hInst,HANDLE temp,HWND parent,
  163.                                 DLGPROC cb,LPARAM lParam,DLGITEMS FAR *items);
  164. LPDLGITEMS WINAPI cw_NullCDlgTemp(void);
  165. HWND WINAPI cw_ProgressDlg(HWND parent,LPCSTR title,LPCSTR text,DWORD max,BOOL cancel);
  166. BOOL WINAPI cw_ProgressCancel(HWND dlg);
  167. BOOL WINAPI cw_ProgressSet(HWND dlg,DWORD amt,LPCSTR text);
  168. void WINAPI cw_ProgressReset(HWND dlg);
  169.  
  170. #define cw_DialogBox(a,b,c,d,e) \
  171.         cw_DialogBoxParam(a,b,c,d,0,e)
  172. #define cw_DialogBoxIndirect(a,b,c,d,e) \
  173.         cw_DialogBoxIndirectParam(a,b,c,d,0,e)
  174.  
  175. #define DLGDATA(nam) DLGITEMS nam[]= {
  176. #define DLGITEM(id,tl,buf) {id,tl,buf},
  177. #define DLGEND {0,0,NULL} }
  178.  
  179. /* Radio/Check box */
  180. #define CWDLG_BUTTON 0
  181. /* Numeric combo box */
  182. #define CWDLG_COMBOBOX 1
  183. /* Text list box */
  184. #define CWDLG_LISTBOX 2
  185. /* Numeric listbox */
  186. #define CWDLG_LB 3
  187. /* Init listbox */
  188. #define CWDLG_LBINIT 4
  189. /* Init combo box */
  190. #define CWDLG_CBINIT 5
  191. /* Buttons */
  192. #define CWDLG_PBUTTON 6
  193. #define CWDLG_PBUTTONX 7
  194. /* Multiselect LB */
  195. #define CWDLG_MULTILB 8
  196.  
  197. /* tl>5 is string (static, edit, combo box) */
  198.  
  199. /* Common dialog identifications */
  200. #define COMMON_OPEN 1
  201. #define COMMON_SAVE 2
  202. #define COMMON_FIND 3
  203. #define COMMON_REPL 4
  204. #define COMMON_PRINT 5
  205. #define COMMON_FONT 6
  206. #define COMMON_PSETUP 7
  207. #define COMMON_COLOR 8
  208.  
  209.  
  210. /*********************/
  211. /*       Misc.       */
  212.  
  213. HBITMAP WINAPI cw_LogoBestBitmap(HANDLE hInst,UINT st,UINT end);
  214. HWND WINAPI cw_Logo(HANDLE hInst,UINT st,UINT end,UINT dly,BOOL key,BOOL block);
  215. BOOL WINAPI cw_GetFilename(HWND w,LPCSTR filename,int flen,LPCSTR title,int len,
  216.                 int how,LPCSTR filter,BOOL FAR *ro,BOOL usehelp);
  217. /* Style for windows that can be MDI children
  218.          (edit) */
  219. #define CW_MDIWIN 1
  220. #define CW_USEHELP 2
  221. #define CW_USEPROG 4
  222. /* Message for window that can init toolbars */
  223. #define CW_INITTOOL (CW_MESSAGE+4)
  224.  
  225.  
  226. /**********************/
  227. /*    Menu defines   */
  228. #define CW_STDMENU (CW_MESSAGE+1)
  229. #include "cwmenu.h"
  230.  
  231. #ifdef __cplusplus
  232. }
  233. #endif
  234.  
  235. #endif
  236.  
  237.