--- np2/win9x/dialog/dialogs.h 2003/10/16 17:59:03 1.1 +++ np2/win9x/dialog/dialogs.h 2007/12/17 14:52:56 1.13 @@ -1,61 +1,76 @@ -#ifdef STRICT -#define SUBCLASSPROC WNDPROC -#else -#define SUBCLASSPROC FARPROC -#endif - -typedef struct { -const char *title; -const char *ext; -const char *filter; - int defindex; -} FILESEL; - -extern const char str_int0[]; -extern const char str_int1[]; -extern const char str_int2[]; -extern const char str_int4[]; -extern const char str_int5[]; -extern const char str_int6[]; +struct tagFileSelectParam +{ + LPTSTR lpszTitle; + LPTSTR lpszDefExt; + LPTSTR lpszFilter; + int nFilterIndex; +}; +typedef struct tagFileSelectParam FSPARAM; +typedef struct tagFileSelectParam *PFSPARAM; +typedef const struct tagFileSelectParam *PCFSPARAM; + +struct tagCBParam +{ + LPCTSTR lpcszString; + int nItemData; +}; +typedef struct tagCBParam CBPARAM; +typedef struct tagCBParam *PCBPARAM; +typedef const struct tagCBParam *PCCBPARAM; + +struct tagCBNParam +{ + UINT uValue; + int nItemData; +}; +typedef struct tagCBNParam CBNPARAM; +typedef struct tagCBNParam *PCBNPARAM; +typedef const struct tagCBNParam *PCCBNPARAM; + #define SetDlgItemCheck(a, b, c) \ SendDlgItemMessage((a), (b), BM_SETCHECK, (c), 0) #define GetDlgItemCheck(a, b) \ - (((int)SendDlgItemMessage((a), (b), BM_GETCHECK, 0, 0))?1:0) + (((int)SendDlgItemMessage((a), (b), BM_GETCHECK, 0, 0)) != 0) #define AVE(a, b) \ (((a) + (b)) / 2) #define SETLISTSTR(a, b, c) \ - dlgs_setliststr((a), (b), (c), sizeof((c))/sizeof(char *)) + dlgs_setliststr((a), (b), (c), NELEMENTS((c))) #define SETnLISTSTR(a, b, c, d) \ dlgs_setliststr((a), (b), (c), (d)) #define SETLISTUINT32(a, b, c) \ - dlgs_setlistuint32((a), (b), (c), sizeof((c))/sizeof(UINT32)) + dlgs_setlistuint32((a), (b), (c), NELEMENTS((c))) + +void dlgs_enablebyautocheck(HWND hWnd, UINT uID, UINT uCheckID); +void dlgs_disablebyautocheck(HWND hWnd, UINT uID, UINT uCheckID); +BOOL dlgs_openfile(HWND hWnd, PCFSPARAM pcParam, + OEMCHAR *pszPath, UINT uSize, int *puRO); +BOOL dlgs_createfile(HWND hWnd, PCFSPARAM pcParam, + OEMCHAR *pszPath, UINT uSize); +BOOL dlgs_createfilenum(HWND hWnd, PCFSPARAM pcParam, + OEMCHAR *pszPath, UINT uSize); -const char *dlgs_selectfile(HWND hWnd, const FILESEL *item, - const char *defname, char *folder, UINT size, int *ro); -const char *dlgs_selectwritefile(HWND hWnd, const FILESEL *item, - const char *defname, char *folder, UINT size); -const char *dlgs_selectwritenum(HWND hWnd, const FILESEL *item, - const char *defname, char *folder, UINT size); +void dlgs_browsemimpidef(HWND hWnd, UINT16 res); -void dlgs_browsemimpidef(HWND hWnd, WORD res); +void dlgs_setliststr(HWND hWnd, UINT16 res, const TCHAR **item, UINT items); +void dlgs_setlistuint32(HWND hWnd, UINT16 res, const UINT32 *item, UINT items); -void dlgs_setliststr(HWND hWnd, WORD res, const char **item, UINT items); -void dlgs_setlistuint32(HWND hWnd, WORD res, const UINT32 *item, UINT items); +void dlgs_setcbitem(HWND hWnd, UINT uID, PCCBPARAM pcItem, UINT uItems); +void dlgs_setcbnumber(HWND hWnd, UINT uID, PCCBNPARAM pcItem, UINT uItems); +void dlgs_setcbcur(HWND hWnd, UINT uID, int nItemData); +int dlgs_getcbcur(HWND hWnd, UINT uID, int nDefault); -void dlgs_setlistmidiout(HWND hWnd, WORD res, const char *defname); -void dlgs_setlistmidiin(HWND hWnd, WORD res, const char *defname); +void dlgs_setlistmidiout(HWND hWnd, UINT16 res, const OEMCHAR *defname); +void dlgs_setlistmidiin(HWND hWnd, UINT16 res, const OEMCHAR *defname); -void dlgs_linex(BYTE *image, int x, int y, int l, int align, BYTE c); -void dlgs_liney(BYTE *image, int x, int y, int l, int align, BYTE c); +void dlgs_drawbmp(HDC hdc, UINT8 *bmp); -void dlgs_setjumperx(BYTE *image, int x, int y, int align); -void dlgs_setjumpery(BYTE *image, int x, int y, int align); +BOOL dlgs_getitemrect(HWND hWnd, UINT uID, RECT *pRect);