home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************
- * File name : dragdrop.h
- *
- * Description: The DRAGDROP include file defines symbolic constants
- * used in the following files:
- * DRAGDROP.C DRAGHEAP.C DRAGDRAG.C DRAGHELP.C
- * Local procedure declarations appear in this file to
- * ensure they have been declared before being used.
- *
- * Concepts : [none]
- *
- * API's : [none]
- *
- * Copyright (C) 1991 IBM Corporation
- *
- * DISCLAIMER OF WARRANTIES. The following [enclosed] code is
- * sample code created by IBM Corporation. This sample code is not
- * part of any standard or IBM product and is provided to you solely
- * for the purpose of assisting you in the development of your
- * applications. The code is provided "AS IS", without
- * warranty of any kind. IBM shall not be liable for any damages
- * arising out of your use of the sample code, even if they have been
- * advised of the possibility of such damages. *
- *************************************************************************/
-
- #define STACKSIZE 11228
- #define MESSAGELEN 50 /* maximum length for messages */
-
- #define ID_RESOURCE 1
- #define ID_BUSY 260
-
- #define IDD_OPEN 300
- #define IDD_STATICTEXT 301
- #define IDD_EDIT 302
-
- #define IDM_MENU 10
- #define IDM_FILE 20
- #define IDM_FILEOPEN 21
- #define IDM_EXIT 22
- #define IDM_WINDOW 30
- #define IDM_WINDOWREFRESH 31
- #define IDM_WINDOWSELECTALL 32
- #define IDM_WINDOWDESELECTALL 33
- #define IDM_RENDER 40
- #define IDM_TARGET 41
- #define IDM_NOTARGET 42
- #define IDM_FILENATIVE 43
- #define IDM_DDENATIVE 44
- #define IDM_DRAGFILES 50
- #define IDM_DROPFILES 51
- #define IDM_SRCRENDER 52
- #define IDM_HELP 60
- #define IDM_HELPINDEX 61
- #define IDM_HELPGENERAL 62
- #define IDM_HELPUSINGHELP 63
- #define IDM_HELPPRODUCTINFO 64
-
- #define IDS_APPNAME 16
- #define IDS_CLIENTCLASS 17
- #define IDS_HELPLIBRARYNAME 18
-
- #define IDD_PRODUCTINFO 1001
-
- #define IDC_OK 1
- #define IDC_CANCEL 2
- #define IDC_HELP 3
- #define IDC_ICON 4
- #define IDC_BITMAP 5
- #define IDR_BITMAP 6
-
- #define INITIAL_SEGSIZE 4096
- #define INCREMENT_SEGSIZE 1024
-
- #define MAX_RETRIES 10
-
- #define LIST_ID 256
- #define MSGBOXID 1002
-
- #define IDMSG_INITFAILED 1
- #define IDMSG_MAINWINCREATEFAILED 2
- #define IDMSG_CANTCREATELIST 3
- #define IDMSG_NOTSUBDIRECTORY 4
- #define IDMSG_MUSTBESELECTED 5
- #define IDMSG_BADDIRECTORY 6
- #define IDMSG_ATLEASTONE 7
- #define IDMSG_CANTLOCATE 8
- #define IDMSG_CANTCREATESTACK 9
- #define IDMSG_HEAPERROR 10
- #define IDMSG_HEAPALLOCERROR 11
- #define IDMSG_ALLOCDRAGINFO 12
- #define IDMSG_CANNOTLOADSTRING 13
- #define IDMSG_HELPNOTAVAILABLE 14
- #define IDMSG_HELPCREATEERROR 15
- #define IDMSG_HELPASSOCIATEERROR 16
- #define IDMSG_HELPDISPLAYERROR 17
- #define IDMSG_CANTSTARTDIALOG 18
- #define IDMSG_DRAGERROR 19
- #define IDMSG_DRAGACCESSERROR 20
- #define IDMSG_DRAGFREEERROR 21
- #define IDMSG_DRAGSETITEMERROR 22
- #define IDMSG_DRAGQUERYSTRINGERROR 23
- #define IDMSG_DRAGQUERYITEMERROR 24
- #define IDMSG_FINDAPPDRAGINFO 25
- #define IDMSG_MEMFREEERROR 26
- #define IDMSG_TARGETRENDER 27
-
- /* return values for initialization routines */
- #define RETURN_SUCCESS 0 /* successful return in DosExit */
- #define RETURN_ERROR 1 /* error return in DosExit */
- #define BEEP_WARN_FREQ 60 /* frequency of warning beep */
- #define BEEP_WARN_DUR 100 /* duration of warning beep */
-
- /*
- * User defined commands
- */
-
- #define WM_REFRESH WM_USER+1
- #define WM_CREATELIST WM_USER+2
- #define LN_INITDRAG WM_USER+3
- #define LN_DRAGOVER WM_USER+4
- #define LN_DRAGLEAVE WM_USER+5
- #define LN_DROPHELP WM_USER+6
- #define LN_DROP WM_USER+7
- #define WM_TARGETCOMPLETE WM_USER+8
-
-
- /*
- * type definitions
- */
-
- typedef struct _PUBFILEFINDBUF
- {
- struct _PUBFILEFINDBUF FAR *pNext;
- FDATE fdateLastWrite;
- FTIME ftimeLastWrite;
- ULONG cbFileAlloc;
- ULONG attrFile;
- CHAR achName[64];
- } PUBFILEFINDBUF;
- typedef PUBFILEFINDBUF FAR *PPUBFILEFINDBUF;
-
-
- typedef struct _DRAGTARGETTHREAD
- {
- PDRAGINFO pDraginfo;
- HWND hwndClient;
- USHORT usOperation;
- CHAR szTargetDir [CCHMAXPATH];
- } DRAGTARGETTHREAD;
- typedef DRAGTARGETTHREAD FAR *PDRAGTARGETTHREAD;
-
- typedef struct _APPDRAGINFO
- {
- struct _APPDRAGINFO FAR *pNextAppDraginfo;
- PDRAGINFO pDraginfo;
- HWND hwndClient;
- USHORT usItemsDragged;
- } APPDRAGINFO;
- typedef APPDRAGINFO FAR *PAPPDRAGINFO;
-
-
- typedef struct _APPDRAGITEM
- {
- PDRAGINFO pDraginfo;
- PPUBFILEFINDBUF pFile;
- } APPDRAGITEM;
- typedef APPDRAGITEM FAR *PAPPDRAGITEM;
-
-
- /*
- * Function models - DRAGDROP.C
- */
- MRESULT EXPENTRY ClientWndProc (HWND, ULONG, MPARAM, MPARAM);
- MRESULT EXPENTRY OpenDlgProc (HWND, ULONG, MPARAM, MPARAM);
- MRESULT EXPENTRY ListSubclassProc (HWND, ULONG, MPARAM, MPARAM);
- BOOL ChangeDir (PSZ);
- BOOL PopulateList (HWND, PSZ);
- VOID Message (PSZ pszMsg);
- SHORT MessageBox(HWND hwndOwner, SHORT idMsg, SHORT fsStyle, BOOL fBeep);
-
-
- /*
- * Function models - DRAGHEAP.C
- */
- BOOL FindFilePurge (VOID);
- PPUBFILEFINDBUF FindFileFirst (PSZ, ULONG);
- PPUBFILEFINDBUF FindFileNext (PPUBFILEFINDBUF);
- PPUBFILEFINDBUF FindFileName (PSZ);
-
- PAPPDRAGINFO AllocAppDraginfo (HWND, PDRAGINFO);
- PAPPDRAGITEM AllocAppDragitem (PDRAGINFO, PPUBFILEFINDBUF);
- BOOL FreeAppDraginfo (PAPPDRAGINFO);
- BOOL FreeAppDragitem (PAPPDRAGITEM);
- PDRAGINFO FindDraginfo (PAPPDRAGITEM);
- PAPPDRAGINFO FindAppDraginfo (PDRAGINFO);
- PPUBFILEFINDBUF FindDragitemFile (PAPPDRAGITEM);
-
-
- /*
- * Function models - DRAGDRAG.C
- */
- BOOL InitDrag (HAB, HWND, HWND, HPOINTER, HPOINTER, HPOINTER, PSZ);
- MRESULT Drop (HAB, HWND, PDRAGINFO, PSZ);
- MRESULT DragLeave (VOID);
- MRESULT DragOver (HAB, PDRAGINFO, PSZ);
- MRESULT DropHelp (HWND, PDRAGINFO);
- MRESULT EndConversation (HAB, HWND, MPARAM, MPARAM);
- MRESULT EndTarget (HWND, PDRAGTARGETTHREAD);
- MRESULT CheckClose (HWND);
- BOOL CheckBusy (VOID);
- VOID PreventClose (HWND hwndClient, ULONG cDrag);
- VOID RemoveFinalBackslash (PSZ);
- VOID FAR TargetThread (VOID);
-
- /*
- * Function models - DRAGHELP.C
- */
- VOID InitHelp(HAB hab, HWND hwnd);
- VOID HelpIndex(HWND hwnd);
- VOID HelpGeneral(HWND hwnd);
- VOID HelpUsingHelp(HWND hwnd);
- VOID HelpProductInfo(HWND hwnd);
- VOID DestroyHelpInstance(VOID);
- VOID SetSysMenu(HWND hwnd);
-
- /*
- * Helper Macros
- */
- #define WinDeleteLboxAll(hwndLbox) \
- ((BOOL)WinSendMsg((hwndLbox), LM_DELETEALL, NULL, NULL))
-
- #define WinQueryLboxSelItemFirst(hwndLbox) \
- ((SHORT)WinSendMsg((hwndLbox), LM_QUERYSELECTION, \
- MPFROMSHORT (LIT_FIRST), NULL))
-
- #define WinQueryLboxSelItemNext(hwndLbox, index) \
- ((SHORT)WinSendMsg((hwndLbox), LM_QUERYSELECTION, \
- MPFROMSHORT (index), NULL))
-
- #define WinScrollLboxItemToTop(hwndLbox, index) \
- ((BOOL)WinSendMsg((hwndLbox), LM_SETTOPINDEX, MPFROMSHORT (index), \
- NULL))
-
- #define WinFindLboxItem(hwndLbox, psz) \
- ((USHORT)WinSendMsg((hwndLbox), LM_SEARCHSTRING, \
- MPFROM2SHORT (0, LIT_FIRST), (MPARAM) psz))
-
- #define WinSelectLboxItem(hwndLbox, index, fSelect) \
- ((USHORT)WinSendMsg((hwndLbox), LM_SELECTITEM, \
- (MPARAM) (index), (MPARAM) (fSelect)))
-
- #define ParentOf(hwnd) WinQueryWindow ((hwnd), QW_PARENT)
- #define OwnerOf(hwnd) WinQueryWindow ((hwnd), QW_OWNER)
-
- #define SendOwner(hwnd,msg,mp2,id) \
- (WinSendMsg (OwnerOf (hwnd), WM_CONTROL, \
- MPFROM2SHORT (id,msg), mp2))
- /*************************** End of dragdrop.h *************************/
-