mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
335 lines
17 KiB
335 lines
17 KiB
/**********************************************************************/
|
|
/* */
|
|
/* Module Name: PMSTDDLG.H */
|
|
/* */
|
|
/* OS/2 Presentation Manager Standard Dialog Declarations */
|
|
/* */
|
|
/* ===================================================================*/
|
|
/* The following symbols are used in this file for conditional */
|
|
/* sections: */
|
|
/* */
|
|
/* INCL_WINSTDSPIN - spin button control class */
|
|
/* INCL_WINSTDDRAG - standard drag dll */
|
|
/* */
|
|
/**********************************************************************/
|
|
|
|
#ifdef INCL_WINSTDDLGS /* enable everything */
|
|
#define INCL_WINSTDSPIN
|
|
#define INCL_WINSTDDRAG
|
|
#endif /* INCL_WINSTDDLGS */
|
|
|
|
|
|
#ifdef INCL_WINSTDSPIN
|
|
/**********************************************************************/
|
|
/* */
|
|
/* S P I N B U T T O N */
|
|
/* */
|
|
/**********************************************************************/
|
|
|
|
/**********************************************************************/
|
|
/* SPINBUTTON Creation Flags */
|
|
/**********************************************************************/
|
|
|
|
/**********************************************************************/
|
|
/* Character Acceptance */
|
|
/**********************************************************************/
|
|
#define SPBS_ALLCHARACTERS 0x00000000L /* Default: All chars accepted */
|
|
#define SPBS_NUMERICONLY 0x00000001L /* Only 0 - 9 accepted & VKeys */
|
|
#define SPBS_READONLY 0x00000002L /* No chars allowed in entryfld*/
|
|
|
|
/**********************************************************************/
|
|
/* Type of Component */
|
|
/**********************************************************************/
|
|
#define SPBS_MASTER 0x00000010L
|
|
#define SPBS_SERVANT 0x00000000L /* Default: Servant */
|
|
|
|
/**********************************************************************/
|
|
/* Type of Justification */
|
|
/**********************************************************************/
|
|
#define SPBS_JUSTDEFAULT 0x00000000L /* Default: Same as Left */
|
|
#define SPBS_JUSTLEFT 0x00000008L
|
|
#define SPBS_JUSTRIGHT 0x00000004L
|
|
#define SPBS_JUSTCENTER 0x0000000CL
|
|
|
|
/**********************************************************************/
|
|
/* Border or not */
|
|
/**********************************************************************/
|
|
#define SPBS_NOBORDER 0x00000020L /* Borderless SpinField */
|
|
/* Default is to have a border. */
|
|
|
|
/**********************************************************************/
|
|
/* Fast spin or not */
|
|
/**********************************************************************/
|
|
#define SPBS_FASTSPIN 0x00000100L /* Allow fast spinning. Fast */
|
|
/* spinning is performed by */
|
|
/* skipping over numbers */
|
|
|
|
/**********************************************************************/
|
|
/* Pad numbers on front with 0's */
|
|
/**********************************************************************/
|
|
#define SPBS_PADWITHZEROS 0x00000080L /* Pad the number with zeroes */
|
|
|
|
/**********************************************************************/
|
|
/* SPINBUTTON Messages */
|
|
/**********************************************************************/
|
|
|
|
/**********************************************************************/
|
|
/* Notification from Spinbutton to the application is sent in a */
|
|
/* WM_CONTROL message. */
|
|
/**********************************************************************/
|
|
#define SPBN_UPARROW 0x20A /* up arrow button was pressed */
|
|
#define SPBN_DOWNARROW 0x20B /* down arrow button was pressed*/
|
|
#define SPBN_ENDSPIN 0x20C /* mouse button was released */
|
|
#define SPBN_CHANGE 0x20D /* spinfield text has changed */
|
|
#define SPBN_SETFOCUS 0x20E /* spinfield received focus */
|
|
#define SPBN_KILLFOCUS 0x20F /* spinfield lost focus */
|
|
|
|
/**********************************************************************/
|
|
/* Messages from application to Spinbutton */
|
|
/**********************************************************************/
|
|
#define SPBM_OVERRIDESETLIMITS 0x200 /* Set spinbutton limits without*/
|
|
/* resetting the current value */
|
|
#define SPBM_QUERYLIMITS 0x201 /* Query limits set by */
|
|
/* SPBM_SETLIMITS */
|
|
#define SPBM_SETTEXTLIMIT 0x202 /* Max entryfield characters */
|
|
#define SPBM_SPINUP 0x203 /* Tell entry field to spin up */
|
|
#define SPBM_SPINDOWN 0x204 /* Tell entry field to spin down*/
|
|
#define SPBM_QUERYVALUE 0x205 /* Tell entry field to send */
|
|
/* current value */
|
|
|
|
/**********************************************************************/
|
|
/* Query Flags */
|
|
/**********************************************************************/
|
|
#define SPBQ_UPDATEIFVALID 0 /* Default */
|
|
#define SPBQ_ALWAYSUPDATE 1
|
|
#define SPBQ_DONOTUPDATE 3
|
|
|
|
/**********************************************************************/
|
|
/* Return value for Empty Field. */
|
|
/* If ptr too long, variable sent in query msg */
|
|
/**********************************************************************/
|
|
#define SPBM_SETARRAY 0x206 /* Change the data to spin */
|
|
#define SPBM_SETLIMITS 0x207 /* Change the numeric Limits */
|
|
#define SPBM_SETCURRENTVALUE 0x208 /* Change the current value */
|
|
#define SPBM_SETMASTER 0x209 /* Tell entryfield who master is*/
|
|
|
|
/**********************************************************************/
|
|
/* SPINBUTTON Window Class Definition */
|
|
/**********************************************************************/
|
|
#define WC_SPINBUTTON ((PSZ)0xffff0020L)
|
|
|
|
#endif /* INCL_WINSTDSPIN */
|
|
|
|
|
|
#ifdef INCL_WINSTDDRAG
|
|
/**********************************************************************/
|
|
/* */
|
|
/* D I R E C T M A N I P U L A T I O N */
|
|
/* */
|
|
/**********************************************************************/
|
|
|
|
#define PMERR_NOT_DRAGGING 0x1f00 /* move to pmerr.h */
|
|
#define PMERR_ALREADY_DRAGGING 0x1f01
|
|
|
|
#define MSGF_DRAG 0x0010 /* message filter identifier */
|
|
|
|
#define WM_DRAGFIRST 0x0310
|
|
#define WM_DRAGLAST (WM_DRAGFIRST + 0x001F)
|
|
|
|
#define DM_DROP (WM_DRAGLAST - 0x0)
|
|
#define DM_DRAGOVER (WM_DRAGLAST - 0x1)
|
|
#define DM_DRAGLEAVE (WM_DRAGLAST - 0x2)
|
|
#define DM_DROPHELP (WM_DRAGLAST - 0x3)
|
|
#define DM_ENDCONVERSATION (WM_DRAGLAST - 0x4)
|
|
#define DM_PRINT (WM_DRAGLAST - 0x5)
|
|
#define DM_RENDER (WM_DRAGLAST - 0x6)
|
|
#define DM_RENDERCOMPLETE (WM_DRAGLAST - 0x7)
|
|
#define DM_RENDERPREPARE (WM_DRAGLAST - 0x8)
|
|
#define DM_DRAGFILECOMPLETE (WM_DRAGLAST - 0x9)
|
|
#define DM_EMPHASIZETARGET (WM_DRAGLAST - 0xA)
|
|
#define DM_DRAGERROR (WM_DRAGLAST - 0xB)
|
|
#define DM_FILERENDERED (WM_DRAGLAST - 0xC)
|
|
#define DM_RENDERFILE (WM_DRAGLAST - 0xD)
|
|
|
|
#define DRT_ASM "Assembler Code" /* drag type constants */
|
|
#define DRT_BASIC "BASIC Code"
|
|
#define DRT_BINDATA "Binary Data"
|
|
#define DRT_BITMAP "Bitmap"
|
|
#define DRT_C "C Code"
|
|
#define DRT_COBOL "COBOL Code"
|
|
#define DRT_DLL "Dynamic Link Library"
|
|
#define DRT_DOSCMD "DOS Command File"
|
|
#define DRT_EXE "Executable"
|
|
#define DRT_FORTRAN "FORTRAN Code"
|
|
#define DRT_ICON "Icon"
|
|
#define DRT_LIB "Library"
|
|
#define DRT_METAFILE "Metafile"
|
|
#define DRT_OS2CMD "OS/2 Command File"
|
|
#define DRT_PASCAL "Pascal Code"
|
|
#define DRT_RESOURCE "Resource File"
|
|
#define DRT_TEXT "Plain Text"
|
|
#define DRT_UNKNOWN "Unknown"
|
|
|
|
#define DOR_NODROP 0x0000 /* DM_DRAGOVER response codes */
|
|
#define DOR_DROP 0x0001
|
|
#define DOR_NODROPOP 0x0002
|
|
#define DOR_NEVERDROP 0x0003
|
|
|
|
#define DO_COPYABLE 0x0001 /* supported operation flags */
|
|
#define DO_MOVEABLE 0x0002
|
|
|
|
#define DC_OPEN 0x0001 /* source control flags */
|
|
#define DC_REF 0x0002
|
|
#define DC_GROUP 0x0004
|
|
#define DC_CONTAINER 0x0008
|
|
#define DC_PREPARE 0x0010
|
|
#define DC_REMOVEABLEMEDIA 0x0020
|
|
|
|
#define DO_DEFAULT 0xBFFE /* Default operation */
|
|
#define DO_UNKNOWN 0xBFFF /* Unknown operation */
|
|
#define DO_COPY KC_CTRL
|
|
#define DO_MOVE KC_ALT
|
|
|
|
#define DMFL_TARGETSUCCESSFUL 0x0001 /* transfer reply flags */
|
|
#define DMFL_TARGETFAIL 0x0002
|
|
#define DMFL_NATIVERENDER 0x0004
|
|
#define DMFL_RENDERRETRY 0x0008
|
|
#define DMFL_RENDEROK 0x0010
|
|
#define DMFL_RENDERFAIL 0x0020
|
|
|
|
#define DRG_ICON 0x00000001L /* drag image manipulation */
|
|
#define DRG_BITMAP 0x00000002L /* flags */
|
|
#define DRG_POLYGON 0x00000004L
|
|
#define DRG_STRETCH 0x00000008L
|
|
#define DRG_TRANSPARENT 0x00000010L
|
|
#define DRG_CLOSED 0x00000020L
|
|
|
|
#define DME_IGNOREABORT 1 /* DM_DRAGERROR return values */
|
|
#define DME_IGNORECONTINUE 2
|
|
#define DME_REPLACE 3
|
|
#define DME_RETRY 4
|
|
|
|
#define DF_MOVE 0x0001 /* DM_DRAGFILECOMPLETE flags */
|
|
#define DF_SOURCE 0x0002
|
|
#define DF_SUCCESSFUL 0x0004
|
|
|
|
#define DFF_MOVE 1 /* DM_DRAGERROR operation IDs */
|
|
#define DFF_COPY 2
|
|
#define DFF_DELETE 3
|
|
|
|
|
|
typedef LHANDLE HSTR; /* hstr */
|
|
|
|
typedef struct _DRAGITEM { /* ditem */
|
|
HWND hwndItem; /* conversation partner */
|
|
ULONG ulItemID; /* identifies item being dragged */
|
|
HSTR hstrType; /* type of item */
|
|
HSTR hstrRMF; /* rendering mechanism and format*/
|
|
HSTR hstrContainerName; /* name of source container */
|
|
HSTR hstrSourceName; /* name of item at source */
|
|
HSTR hstrTargetName; /* suggested name of item at dest*/
|
|
SHORT cxOffset; /* x offset of the origin of the */
|
|
/* image from the mouse hotspot*/
|
|
SHORT cyOffset; /* y offset of the origin of the */
|
|
/* image from the mouse hotspot*/
|
|
USHORT fsControl; /* source item control flags */
|
|
USHORT fsSupportedOps; /* ops supported by source */
|
|
} DRAGITEM;
|
|
typedef DRAGITEM FAR *PDRAGITEM;
|
|
|
|
typedef struct _DRAGINFO { /* dinfo */
|
|
ULONG cbDraginfo; /* Size of DRAGINFO and DRAGITEMs*/
|
|
USHORT cbDragitem; /* size of DRAGITEM */
|
|
USHORT usOperation; /* current drag operation */
|
|
HWND hwndSource; /* window handle of source */
|
|
SHORT xDrop; /* x coordinate of drop position */
|
|
SHORT yDrop; /* y coordinate of drop position */
|
|
USHORT cditem; /* count of DRAGITEMs */
|
|
USHORT usReserved; /* reserved for future use */
|
|
} DRAGINFO;
|
|
typedef DRAGINFO FAR *PDRAGINFO;
|
|
|
|
typedef struct _DRAGIMAGE { /* dimg */
|
|
USHORT cb; /* size control block */
|
|
USHORT cptl; /* count of pts, if DRG_POLYGON */
|
|
LHANDLE hImage; /* image handle passed to DrgDrag*/
|
|
SIZEL sizlStretch; /* size to strecth ico or bmp to */
|
|
ULONG fl; /* flags passed to DrgDrag */
|
|
SHORT cxOffset; /* x offset of the origin of the */
|
|
/* image from the mouse hotspot*/
|
|
SHORT cyOffset; /* y offset of the origin of the */
|
|
/* image from the mouse hotspot*/
|
|
} DRAGIMAGE;
|
|
typedef DRAGIMAGE FAR *PDRAGIMAGE;
|
|
|
|
typedef struct _DRAGTRANSFER { /* dxfer */
|
|
ULONG cb; /* size of control block */
|
|
HWND hwndClient; /* handle of target */
|
|
PDRAGITEM pditem; /* DRAGITEM being transferred */
|
|
HSTR hstrSelectedRMF; /* rendering mech & fmt of choice*/
|
|
HSTR hstrRenderToName; /* name source will use */
|
|
ULONG ulTargetInfo; /* reserved for target's use */
|
|
USHORT usOperation; /* operation being performed */
|
|
USHORT fsReply; /* reply flags */
|
|
} DRAGTRANSFER;
|
|
typedef DRAGTRANSFER FAR *PDRAGTRANSFER;
|
|
|
|
typedef struct _RENDERFILE { /* rndf */
|
|
HWND hwndDragFiles; /* conversation window */
|
|
HSTR hstrSource; /* handle to source file name */
|
|
HSTR hstrTarget; /* handle to target file name */
|
|
BOOL fMove; /* TRUE - move, FALSE - copy */
|
|
USHORT usRsvd; /* reserved */
|
|
} RENDERFILE;
|
|
typedef RENDERFILE FAR *PRENDERFILE;
|
|
|
|
|
|
BOOL EXPENTRY DrgAcceptDroppedFiles (HWND hwnd, PSZ pszPath, PSZ pszTypes,
|
|
USHORT usDefaultOp, USHORT usRsvd);
|
|
BOOL EXPENTRY DrgAccessDraginfo (PDRAGINFO pdinfo);
|
|
HSTR EXPENTRY DrgAddStrHandle (PSZ psz);
|
|
PDRAGINFO EXPENTRY DrgAllocDraginfo (USHORT cditem);
|
|
PDRAGTRANSFER EXPENTRY DrgAllocDragtransfer (USHORT cdxfer);
|
|
BOOL EXPENTRY DrgDeleteDraginfoStrHandles (PDRAGINFO pdinfo);
|
|
BOOL EXPENTRY DrgDeleteStrHandle (HSTR hstr);
|
|
HWND EXPENTRY DrgDrag (HWND hwndSource, PDRAGINFO pdinfo, PDRAGIMAGE pdimg,
|
|
USHORT cdimg, SHORT vkTerminate, PVOID pRsvd);
|
|
BOOL EXPENTRY DrgDragFiles (HWND hwnd, PSZ FAR *apszFiles, PSZ FAR *apszTypes,
|
|
PSZ FAR *apszTargets, USHORT cFiles,
|
|
HPOINTER hptrDrag, USHORT vkTerm,
|
|
BOOL fSourceRender, ULONG ulRsvd);
|
|
BOOL EXPENTRY DrgFreeDraginfo (PDRAGINFO pdinfo);
|
|
BOOL EXPENTRY DrgFreeDragtransfer (PDRAGTRANSFER pdxfer);
|
|
HPS EXPENTRY DrgGetPS (HWND hwnd);
|
|
BOOL EXPENTRY DrgPostTransferMsg (HWND hwnd, USHORT msg, PDRAGTRANSFER pdxfer,
|
|
USHORT fs, USHORT usRsvd, BOOL fRetry);
|
|
BOOL EXPENTRY DrgPushDraginfo (PDRAGINFO pdinfo, HWND hwndDest);
|
|
BOOL EXPENTRY DrgQueryDragitem (PDRAGINFO pdinfo, USHORT cbBuffer,
|
|
PDRAGITEM pditem, USHORT iItem);
|
|
USHORT EXPENTRY DrgQueryDragitemCount (PDRAGINFO pdinfo);
|
|
PDRAGITEM EXPENTRY DrgQueryDragitemPtr (PDRAGINFO pdinfo, USHORT i);
|
|
BOOL EXPENTRY DrgQueryNativeRMF (PDRAGITEM pditem,
|
|
USHORT cbBuffer, PCHAR pBuffer);
|
|
USHORT EXPENTRY DrgQueryNativeRMFLen (PDRAGITEM pditem);
|
|
USHORT EXPENTRY DrgQueryStrName (HSTR hstr, USHORT cbBuffer, PSZ pBuffer);
|
|
USHORT EXPENTRY DrgQueryStrNameLen (HSTR hstr);
|
|
BOOL EXPENTRY DrgQueryTrueType (PDRAGITEM pditem, USHORT cbBuffer, PSZ pBuffer);
|
|
USHORT EXPENTRY DrgQueryTrueTypeLen (PDRAGITEM pditem);
|
|
BOOL EXPENTRY DrgReleasePS (HPS hps);
|
|
MRESULT EXPENTRY DrgSendTransferMsg (HWND hwnd, USHORT msg,
|
|
MPARAM mp1, MPARAM mp2);
|
|
BOOL EXPENTRY DrgSetDragitem (PDRAGINFO pdinfo, PDRAGITEM pditem,
|
|
USHORT cbBuffer, USHORT iItem);
|
|
BOOL EXPENTRY DrgSetDragPointer (PDRAGINFO pdinfo, HPOINTER hptr);
|
|
BOOL EXPENTRY DrgSetDragImage (PDRAGINFO pdinfo, PDRAGIMAGE pdimg,
|
|
USHORT cdimg, PVOID pRsvd);
|
|
BOOL EXPENTRY DrgVerifyNativeRMF (PDRAGITEM pditem, PSZ pszRMF);
|
|
BOOL EXPENTRY DrgVerifyRMF (PDRAGITEM pditem, PSZ pszMech, PSZ pszFmt);
|
|
BOOL EXPENTRY DrgVerifyTrueType (PDRAGITEM pditem, PSZ pszType);
|
|
BOOL EXPENTRY DrgVerifyType (PDRAGITEM pditem, PSZ pszType);
|
|
BOOL EXPENTRY DrgVerifyTypeSet (PDRAGITEM pditem, PSZ pszType, USHORT cbMatch,
|
|
PSZ pszMatch);
|
|
|
|
#endif /* INCL_WINSTDDRAG */
|
|
|
|
|