home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-11-29 | 83.8 KB | 3,006 lines |
- /***************************************************************************\
- *
- * Module Name: PMWIN.H
- *
- * OS/2 Presentation Manager Window Manager include file
- *
- * Copyright (c) 1989-1990, Microsoft Corporation. All rights reserved.
- *
- * =======================================================================
- *
- * The folowing symbols are used in this file for conditional sections.
- *
- * If INCL_WIN is defined, all subcomponents are included.
- *
- * Subcomponents marked with "+" are partially included by default:
- *
- * #define: To include:
- *
- * + INCL_WINWINDOWMGR General window management
- * + INCL_WINMESSAGEMGR Message management
- * + INCL_WININPUT Mouse and keyboard input
- * + INCL_WINDIALOGS Dialog boxes
- * + INCL_WINSTATICS Static controls
- * + INCL_WINBUTTONS Button controls
- * + INCL_WINENTRYFIELDS Entry Fields
- * INCL_WINMLE Multiple Line Entry Fields
- * + INCL_WINLISTBOXES List box controls
- * + INCL_WINMENUS Menu controls
- * + INCL_WINSCROLLBARS Scroll bar controls
- * + INCL_WINFRAMEMGR Frame manager
- * INCL_WINFRAMECTLS Frame controls (title bars & size border)
- * INCL_WINRECTANGLES Rectangle routines
- * INCL_WINSYS System values (and colors)
- * INCL_WINTIMER Timer routines
- * + INCL_WINACCELERATORS Keyboard accelerators
- * INCL_WINTRACKRECT WinTrackRect() function
- * INCL_WINCLIPBOARD Clipboard manager
- * + INCL_WINCURSORS Text cursors
- * + INCL_WINPOINTERS Mouse pointers
- * INCL_WINHOOKS Hook manager
- * + INCL_WINSWITCHLIST Shell Switch List API
- * INCL_WINPROGRAMLIST Shell Program List API
- * INCL_WINSHELLDATA Shell Data (?)
- * INCL_WINCOUNTRY Country support
- * INCL_WINHEAP Heap Manager
- * INCL_WINATOM Atom Manager
- * INCL_WINCATCHTHROW WinCatch/WinThrow support
- * INCL_WINERRORS Error code definitions
- * INCL_NLS DBCS window manager definition
- * + INCL_WINHELP Help Manager definitions
- * INCL_WINLOAD Load/Delete Library/Procedure
- * INCL_WINTYPES Definitions for Datatypes
- *
- \***************************************************************************/
-
- #define INCL_WININCLUDED
-
-
- #ifdef INCL_WIN
-
- #define INCL_WINWINDOWMGR
- #define INCL_WINMESSAGEMGR
- #define INCL_WININPUT
- #define INCL_WINDIALOGS
- #define INCL_WINSTATICS
- #define INCL_WINBUTTONS
- #define INCL_WINENTRYFIELDS
- #define INCL_WINMLE
- #define INCL_WINLISTBOXES
- #define INCL_WINMENUS
- #define INCL_WINSCROLLBARS
- #define INCL_WINFRAMEMGR
- #define INCL_WINFRAMECTLS
- #define INCL_WINRECTANGLES
- #define INCL_WINSYS
- #define INCL_WINTIMER
- #define INCL_WINACCELERATORS
- #define INCL_WINTRACKRECT
- #define INCL_WINCLIPBOARD
- #define INCL_WINCURSORS
- #define INCL_WINPOINTERS
- #define INCL_WINHOOKS
- #define INCL_WINSWITCHLIST
- #define INCL_WINPROGRAMLIST
- #define INCL_WINSHELLDATA
- #define INCL_WINCOUNTRY
- #define INCL_WINHEAP
- #define INCL_WINATOM
- #define INCL_WINCATCHTHROW
- #define INCL_WINERRORS
- #define INCL_WINDDE
- #define INCL_WINHELP
- #define INCL_WINLOAD
- #define INCL_WINTYPES
-
- #else /* INCL_WIN */
-
- #ifdef RC_INVOKED
- #define INCL_WININPUT
- #define INCL_WINDIALOGS
- #define INCL_WINSTATICS
- #define INCL_WINBUTTONS
- #define INCL_WINENTRYFIELDS
- #define INCL_WINLISTBOXES
- #define INCL_WINMENUS
- #define INCL_WINSCROLLBARS
- #define INCL_WINFRAMEMGR
- #define INCL_WINFRAMECTLS
- #define INCL_WINACCELERATORS
- #define INCL_WINPOINTERS
- #define INCL_WINMESSAGEMGR
- #define INCL_WINMLE
- #define INCL_WINHELP
- #endif /* RC_INVOKED */
-
- #endif /* INCL_WIN */
-
- /* ensure standard entry field defintions if MLE is defined */
- #ifdef INCL_WINMLE
- #ifndef INCL_WINENTRYFIELDS
- #define INCL_WINENTRYFIELDS
- #endif /* INCL_WINENTRYFIELDS */
- #endif /* INCL_WINMLE */
-
- /* INCL_WINCOMMON compatability */
- #ifdef INCL_WINCOMMON
- #define INCL_WINWINDOWMGR
- #endif /* INCL_WINCOMMON */
-
- #ifdef INCL_ERRORS
- #define INCL_WINERRORS
- #endif /* INCL_ERRORS */
-
- /***************************************************************************/
- /*** General Window Management types, constants and macros ***/
-
- #ifndef WIN_COMMON_INCLUDED
- #define WIN_COMMON_INCLUDED
-
- typedef VOID FAR *MPARAM; /* mp */
- typedef MPARAM FAR *PMPARAM; /* pmp */
- typedef VOID FAR *MRESULT; /* mres */
- typedef MRESULT FAR *PMRESULT; /* pmres */
-
- /* Macros to make an MPARAM from standard types. */
- #define MPFROMP(p) ((MPARAM)(VOID FAR *)(p))
- #define MPFROMHWND(hwnd) ((MPARAM)(HWND)(hwnd))
- #define MPFROMCHAR(ch) ((MPARAM)(USHORT)(ch))
- #define MPFROMSHORT(s) ((MPARAM)(USHORT)(s))
- #define MPFROM2SHORT(s1, s2) ((MPARAM)MAKELONG(s1, s2))
- #define MPFROMSH2CH(s, uch1, uch2) ((MPARAM)MAKELONG(s, MAKESHORT(uch1, uch2)))
- #define MPFROMLONG(l) ((MPARAM)(ULONG)(l))
-
- /* Macros to extract standard types from an MPARAM */
- #define PVOIDFROMMP(mp) ((VOID FAR *)(mp))
- #define HWNDFROMMP(mp) ((HWND)(mp))
- #define CHAR1FROMMP(mp) ((UCHAR)(mp))
- #define CHAR2FROMMP(mp) ((UCHAR)((ULONG)mp >> 8))
- #define CHAR3FROMMP(mp) ((UCHAR)((ULONG)mp >> 16))
- #define CHAR4FROMMP(mp) ((UCHAR)((ULONG)mp >> 24))
- #define SHORT1FROMMP(mp) ((USHORT)(ULONG)(mp))
- #define SHORT2FROMMP(mp) ((USHORT)((ULONG)mp >> 16))
- #define LONGFROMMP(mp) ((ULONG)(mp))
-
- /* Macros to make an MRESULT from standard types. */
- #define MRFROMP(p) ((MRESULT)(VOID FAR *)(p))
- #define MRFROMSHORT(s) ((MRESULT)(USHORT)(s))
- #define MRFROM2SHORT(s1, s2) ((MRESULT)MAKELONG(s1, s2))
- #define MRFROMLONG(l) ((MRESULT)(ULONG)(l))
-
- /* Macros to extract standard types from an MRESULT */
- #define PVOIDFROMMR(mr) ((VOID FAR *)(mr))
- #define SHORT1FROMMR(mr) ((USHORT)((ULONG)mr))
- #define SHORT2FROMMR(mr) ((USHORT)((ULONG)mr >> 16))
- #define LONGFROMMR(mr) ((ULONG)(mr))
-
- typedef MRESULT (EXPENTRY *PFNWP)(HWND, USHORT, MPARAM, MPARAM);
-
- #ifndef INCL_SAADEFS
- #define HWND_DESKTOP (HWND)1
- #define HWND_OBJECT (HWND)2
- #endif /* !INCL_SAADEFS */
-
- #define HWND_TOP (HWND)3
- #define HWND_BOTTOM (HWND)4
-
- #ifndef INCL_SAADEFS
- #define HWND_THREADCAPTURE (HWND)5
- #endif /* !INCL_SAADEFS */
-
-
- /* Standard Window Styles */
-
- #define WS_VISIBLE 0x80000000L
- #define WS_DISABLED 0x40000000L
- #define WS_CLIPCHILDREN 0x20000000L
- #define WS_CLIPSIBLINGS 0x10000000L
- #define WS_PARENTCLIP 0x08000000L
- #define WS_SAVEBITS 0x04000000L
- #define WS_SYNCPAINT 0x02000000L
- #define WS_MINIMIZED 0x01000000L
- #define WS_MAXIMIZED 0x00800000L
-
- /* Dialog manager styles */
-
- #define WS_GROUP 0x00010000L
- #define WS_TABSTOP 0x00020000L
- #define WS_MULTISELECT 0x00040000L
-
-
- /* Class styles */
-
- #define CS_MOVENOTIFY 0x00000001L
- #define CS_SIZEREDRAW 0x00000004L
- #define CS_HITTEST 0x00000008L
- #define CS_PUBLIC 0x00000010L
- #define CS_FRAME 0x00000020L
- #define CS_CLIPCHILDREN 0x20000000L
- #define CS_CLIPSIBLINGS 0x10000000L
- #define CS_PARENTCLIP 0x08000000L
- #define CS_SAVEBITS 0x04000000L
- #define CS_SYNCPAINT 0x02000000L
-
- #endif /* WIN_COMMON_INCLUDED */
-
- /***************************************************************************/
- /**** Window Manager Subsection part 1 ****/
- #if ((defined(INCL_WINWINDOWMGR) || !defined(INCL_NOCOMMON)) && !defined(INCL_WINWINDOWMGR_INCLUDED))
-
- BOOL APIENTRY WinRegisterClass(HAB hab, PSZ pszClassName, PFNWP pfnWndProc,
- ULONG flStyle, USHORT cbWindowData);
-
- MRESULT APIENTRY WinDefWindowProc(HWND hwnd, USHORT msg, MPARAM mp1,
- MPARAM mp2);
- BOOL APIENTRY WinDestroyWindow(HWND hwnd);
- BOOL APIENTRY WinShowWindow(HWND hwnd, BOOL fShow);
- BOOL APIENTRY WinQueryWindowRect(HWND hwnd, PRECTL prclDest);
-
- HPS APIENTRY WinGetPS(HWND hwnd);
- BOOL APIENTRY WinReleasePS(HPS hps);
- BOOL APIENTRY WinEndPaint(HPS hps);
- #ifndef INCL_SAADEFS
- HPS APIENTRY WinGetClipPS(HWND hwnd, HWND hwndClip, USHORT fs);
- BOOL APIENTRY WinIsWindowShowing(HWND hwnd);
- #endif /* !INCL_SAADEFS */
-
- HPS APIENTRY WinBeginPaint(HWND hwnd, HPS hps, PRECTL prclPaint);
- HDC APIENTRY WinOpenWindowDC(HWND hwnd);
-
- SHORT APIENTRY WinScrollWindow(HWND hwnd, SHORT dx, SHORT dy,
- PRECTL prclScroll, PRECTL prclClip,
- HRGN hrgnUpdate, PRECTL prclUpdate,
- USHORT fs);
-
- /* WinGetClipPS() flags */
-
- #ifndef INCL_SAADEFS
- #define PSF_LOCKWINDOWUPDATE 0x0001
- #define PSF_CLIPUPWARDS 0x0002
- #define PSF_CLIPDOWNWARDS 0x0004
- #define PSF_CLIPSIBLINGS 0x0008
- #define PSF_CLIPCHILDREN 0x0010
- #define PSF_PARENTCLIP 0x0020
-
- #endif /* !INCL_SAADEFS */
-
- /* WinScrollWindow() flags */
-
- #define SW_SCROLLCHILDREN 0x0001
- #define SW_INVALIDATERGN 0x0002
-
- BOOL APIENTRY WinFillRect(HPS hps, PRECTL prcl, COLOR clr);
-
- /* WinInitialize/WinTerminate Interface declarations */
-
- typedef struct _QVERSDATA { /* qver */
- USHORT environment;
- USHORT version;
- } QVERSDATA;
- typedef QVERSDATA FAR *PQVERSDATA;
-
- #define QV_OS2 0x0000
- #define QV_CMS 0x0001
- #define QV_TSO 0x0002
- #define QV_TSOBATCH 0x0003
- #define QV_OS400 0x0004
-
-
- ULONG APIENTRY WinQueryVersion(HAB hab);
- HAB APIENTRY WinInitialize(USHORT fsOptions);
- BOOL APIENTRY WinTerminate(HAB hab);
-
- HAB APIENTRY WinQueryAnchorBlock(HWND hwnd);
-
- #endif /* INCL_WINWINDOWMGR | !INCL_NOCOMMON */
- /****************** End of Window Manager COMMON section ******************/
-
- #ifndef WIN_COMMON2_INCLUDED
- #define WIN_COMMON2_INCLUDED
-
- HWND APIENTRY WinCreateWindow(HWND hwndParent, PSZ pszClass, PSZ pszName,
- ULONG flStyle, SHORT x, SHORT y, SHORT cx,
- SHORT cy, HWND hwndOwner,
- HWND hwndInsertBehind, USHORT id,
- PVOID pCtlData, PVOID pPresParams);
- BOOL APIENTRY WinEnableWindow(HWND hwnd, BOOL fEnable);
- BOOL APIENTRY WinIsWindowEnabled(HWND hwnd);
- BOOL APIENTRY WinEnableWindowUpdate(HWND hwnd, BOOL fEnable);
- BOOL APIENTRY WinIsWindowVisible(HWND hwnd);
- SHORT APIENTRY WinQueryWindowText(HWND hwnd, SHORT cchBufferMax,
- PSZ pszBuf);
- BOOL APIENTRY WinSetWindowText(HWND hwnd, PSZ pszText);
- SHORT APIENTRY WinQueryWindowTextLength(HWND hwnd);
- HWND APIENTRY WinWindowFromID(HWND hwndParent, USHORT id);
-
- BOOL APIENTRY WinIsWindow(HAB hab, HWND hwnd);
- HWND APIENTRY WinQueryWindow(HWND hwnd, SHORT cmd, BOOL fLock);
- SHORT APIENTRY WinMultWindowFromIDs(HWND hwndParent, PHWND phwnd,
- USHORT idFirst, USHORT idLast);
-
- /* WinQueryWindow() codes */
-
- #define QW_NEXT 0
- #define QW_PREV 1
- #define QW_TOP 2
- #define QW_BOTTOM 3
- #define QW_OWNER 4
- #define QW_PARENT 5
- #define QW_NEXTTOP 6
- #define QW_PREVTOP 7
- #define QW_FRAMEOWNER 8
-
-
- BOOL APIENTRY WinSetParent(HWND hwnd, HWND hwndNewParent, BOOL fRedraw);
-
- BOOL APIENTRY WinIsChild(HWND hwnd, HWND hwndParent);
- BOOL APIENTRY WinSetOwner(HWND hwnd, HWND hwndNewOwner);
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinQueryWindowProcess(HWND hwnd, PPID ppid, PTID ptid);
- #endif /* !INCL_SAADEFS */
-
- HWND APIENTRY WinQueryObjectWindow(HWND hwndDesktop);
- HWND APIENTRY WinQueryDesktopWindow(HAB hab, HDC hdc);
-
- /*** Window positioning functions */
-
- /* WinSetMultWindowPos() structure */
- typedef struct _SWP { /* swp */
- USHORT fs;
- SHORT cy;
- SHORT cx;
- SHORT y;
- SHORT x;
- HWND hwndInsertBehind;
- HWND hwnd;
- } SWP;
- typedef SWP FAR *PSWP;
-
- BOOL APIENTRY WinSetWindowPos(HWND hwnd, HWND hwndInsertBehind, SHORT x,
- SHORT y, SHORT cx, SHORT cy, USHORT fs);
- BOOL APIENTRY WinQueryWindowPos(HWND hwnd, PSWP pswp);
- BOOL APIENTRY WinSetMultWindowPos(HAB hab, PSWP pswp, USHORT cswp);
-
- /* Values returned from WM_ADJUSTWINDOWPOS and passed to WM_WINDOWPOSCHANGED */
-
- #define AWP_MINIMIZED 0x00010000L
- #define AWP_MAXIMIZED 0x00020000L
- #define AWP_RESTORED 0x00040000L
- #define AWP_ACTIVATE 0x00080000L
- #define AWP_DEACTIVATE 0x00100000L
-
- /* WinSetWindowPos() flags */
-
- #define SWP_SIZE 0x0001
- #define SWP_MOVE 0x0002
- #define SWP_ZORDER 0x0004
- #define SWP_SHOW 0x0008
- #define SWP_HIDE 0x0010
- #define SWP_NOREDRAW 0x0020
- #define SWP_NOADJUST 0x0040
- #define SWP_ACTIVATE 0x0080
- #define SWP_DEACTIVATE 0x0100
- #define SWP_EXTSTATECHANGE 0x0200
- #define SWP_MINIMIZE 0x0400
- #define SWP_MAXIMIZE 0x0800
- #define SWP_RESTORE 0x1000
- #define SWP_FOCUSACTIVATE 0x2000
- #define SWP_FOCUSDEACTIVATE 0x4000
-
- /* Window painting */
-
- BOOL APIENTRY WinUpdateWindow(HWND hwnd);
-
- BOOL APIENTRY WinInvalidateRect(HWND hwnd, PRECTL prcl, BOOL fIncludeChildren);
- BOOL APIENTRY WinInvalidateRegion(HWND hwnd, HRGN hrgn,
- BOOL fIncludeChildren);
-
- /* Drawing helpers */
-
- BOOL APIENTRY WinInvertRect(HPS hps, PRECTL prcl);
- BOOL APIENTRY WinDrawBitmap(HPS hpsDst, HBITMAP hbm, PRECTL prclSrc,
- PPOINTL pptlDst, LONG clrFore, LONG clrBack,
- USHORT fs);
-
- /* WinDrawBitmap() flags */
-
- #define DBM_NORMAL 0x0000
- #define DBM_INVERT 0x0001
- #define DBM_HALFTONE 0x0002
- #define DBM_STRETCH 0x0004
- #define DBM_IMAGEATTRS 0x0008
-
-
- SHORT APIENTRY WinDrawText(HPS hps, SHORT cchText, PCH lpchText, PRECTL prcl,
- LONG clrFore, LONG clrBack, USHORT fsCmd);
- /*
- * WinDrawText() codes:
- * From DT_LEFT to DT_EXTERNALLEADING, the codes are designed to be OR'ed with
- * SS_TEXT to create variations of the basic text static item.
- */
- #define DT_LEFT 0x0000
- #define DT_EXTERNALLEADING 0x0080
- #define DT_CENTER 0x0100
- #define DT_RIGHT 0x0200
- #define DT_TOP 0x0000
- #define DT_VCENTER 0x0400
- #define DT_BOTTOM 0x0800
- #define DT_HALFTONE 0x1000
- #define DT_MNEMONIC 0x2000
- #define DT_WORDBREAK 0x4000
- #define DT_ERASERECT 0x8000
- #define DT_QUERYEXTENT 0x0002
- #define DT_TEXTATTRS 0x0040
-
-
- BOOL APIENTRY WinDrawBorder(HPS hps, PRECTL prcl, SHORT cx, SHORT cy,
- LONG clrFore, LONG clrBack, USHORT fsCmd);
-
- /* WinDrawBorder() flags */
-
- #define DB_PATCOPY 0x0000
- #define DB_PATINVERT 0x0001
- #define DB_DESTINVERT 0x0002
- #define DB_AREAMIXMODE 0x0003
-
- #define DB_ROP 0x0007
- #define DB_INTERIOR 0x0008
- #define DB_AREAATTRS 0x0010
- #define DB_STANDARD 0x0100
- #define DB_DLGBORDER 0x0200
-
-
- /** Resource loading functions */
-
- SHORT APIENTRY WinLoadString(HAB hab, HMODULE hmod, USHORT id, SHORT cchMax,
- PSZ pszBuffer);
- #ifndef INCL_SAADEFS
- SHORT APIENTRY WinLoadMessage(HAB hab, HMODULE hmod, USHORT id, SHORT cchMax,
- PSZ pszBuffer);
-
-
- #endif /* !INCL_SAADEFS */
- #endif /* WIN_COMMON2_INCLUDED */
-
- /***************************************************************************/
- /**** Window Manager Subsection part 2 ****/
- #if ((defined(INCL_WINWINDOWMGR) || !defined(INCL_NOCOMMON)) && !defined(INCL_WINWINDOWMGR_INCLUDED))
-
- BOOL APIENTRY WinSetActiveWindow(HWND hwndDesktop, HWND hwnd);
-
- #endif /* Window Manager COMMON subsection */
-
- #if (defined(INCL_WINWINDOWMGR) && !defined(INCL_WINWINDOWMGR_INCLUDED))
-
- /* WM_CREATE structure */
-
- typedef struct _CREATESTRUCT { /* crst */
- PVOID pPresParams;
- PVOID pCtlData;
- USHORT id;
- HWND hwndInsertBehind;
- HWND hwndOwner;
- SHORT cy;
- SHORT cx;
- SHORT y;
- SHORT x;
- ULONG flStyle;
- PSZ pszText;
- PSZ pszClass;
- HWND hwndParent;
- } CREATESTRUCT;
- typedef CREATESTRUCT FAR *PCREATESTRUCT;
-
- /* WinQueryClassInfo() structure */
-
- typedef struct _CLASSINFO { /* clsi */
- ULONG flClassStyle;
- PFNWP pfnWindowProc;
- USHORT cbWindowData;
- } CLASSINFO;
- typedef CLASSINFO FAR *PCLASSINFO;
-
- #ifndef INCL_SAADEFS
- PFNWP APIENTRY WinSubclassWindow(HWND hwnd, PFNWP pfnwp);
- #endif /* !INCL_SAADEFS */
-
- SHORT APIENTRY WinQueryClassName(HWND hwnd, SHORT cchMax, PSZ psz);
- BOOL APIENTRY WinQueryClassInfo(HAB hab, PSZ pszClassName,
- PCLASSINFO pclsi);
-
- HWND APIENTRY WinQueryActiveWindow(HWND hwndDesktop, BOOL fLock);
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinIsThreadActive(HAB hab);
- #endif /* !INCL_SAADEFS */
- HWND APIENTRY WinQuerySysModalWindow(HWND hwndDesktop, BOOL fLock);
-
- HWND APIENTRY WinLockWindow(HWND hwnd, BOOL fLock);
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinRegisterWindowDestroy(HWND hwnd, BOOL fRegister);
- #endif /* !INCL_SAADEFS */
- BOOL APIENTRY WinSetSysModalWindow(HWND hwndDesktop, HWND hwnd);
-
- SHORT APIENTRY WinQueryWindowLockCount(HWND hwnd);
-
- #ifndef INCL_SAADEFS
- USHORT APIENTRY WinQueryWindowUShort(HWND hwnd, SHORT index);
- BOOL APIENTRY WinSetWindowUShort(HWND hwnd, SHORT index, USHORT us);
- ULONG APIENTRY WinQueryWindowULong(HWND hwnd, SHORT index);
- BOOL APIENTRY WinSetWindowULong(HWND hwnd, SHORT index, ULONG ul);
- PVOID APIENTRY WinQueryWindowPtr(HWND hwnd, SHORT index);
- BOOL APIENTRY WinSetWindowPtr(HWND hwnd, SHORT index, PVOID p);
- BOOL APIENTRY WinSetWindowBits(HWND hwnd, SHORT index, ULONG flData,
- ULONG flMask);
-
- /* Standard WinQueryWindowUShort/ULong() indices */
-
- #define QWS_USER 0
- #define QWS_ID (-1)
- #define QWS_MIN (-1)
-
- #define QWL_USER 0
- #define QWL_STYLE (-2)
- #define QWP_PFNWP (-3)
- #define QWL_HMQ (-4)
- #define QWL_MIN (-4)
-
- /* WC_FRAME WinQueryWindowUShort/ULong() indices */
-
- #define QWL_HHEAP 0x0004
- #define QWL_HWNDFOCUSSAVE 0x0018
-
- #define QWS_FLAGS 0x0008
- #define QWS_RESULT 0x000a
- #define QWS_XRESTORE 0x000c
- #define QWS_YRESTORE 0x000e
- #define QWS_CXRESTORE 0x0010
- #define QWS_CYRESTORE 0x0012
- #define QWS_XMINIMIZE 0x0014
- #define QWS_YMINIMIZE 0x0016
-
-
- /* Window enumeration */
-
- typedef LHANDLE HENUM; /* henum */
-
- HENUM APIENTRY WinBeginEnumWindows(HWND hwnd);
- HWND APIENTRY WinGetNextWindow(HENUM henum);
- BOOL APIENTRY WinEndEnumWindows(HENUM henum);
-
- #endif /* !INCL_SAADEFS */
-
- HWND APIENTRY WinWindowFromPoint(HWND hwnd, PPOINTL pptl, BOOL fChildren,
- BOOL fLock);
- BOOL APIENTRY WinMapWindowPoints(HWND hwndFrom, HWND hwndTo, PPOINTL pptl,
- SHORT cwpt);
-
- /* WinExcludeUpdateRegion return values */
-
- #define EXRGN_ERROR 0x0000
- #define EXRGN_NULL 0x0001
- #define EXRGN_RECT 0x0002
- #define EXRGN_COMPLEX 0x0003
-
- /* More window painting functions */
-
- BOOL APIENTRY WinValidateRect(HWND hwnd, PRECTL prcl, BOOL fIncludeChildren);
- BOOL APIENTRY WinValidateRegion(HWND hwnd, HRGN hrgn, BOOL fIncludeChildren);
- #ifndef INCL_SAADEFS
- HWND APIENTRY WinWindowFromDC(HDC hdc);
- HDC APIENTRY WinQueryWindowDC(HWND hwnd);
- HPS APIENTRY WinGetScreenPS(HWND hwndDesktop);
- BOOL APIENTRY WinLockWindowUpdate(HWND hwndDesktop, HWND hwndLockUpdate);
- BOOL APIENTRY WinLockVisRegions(HWND hwndDesktop, BOOL fLock);
- #endif /* !INCL_SAADEFS */
- BOOL APIENTRY WinQueryUpdateRect(HWND hwnd, PRECTL prcl);
- SHORT APIENTRY WinQueryUpdateRegion(HWND hwnd, HRGN hrgn);
- SHORT APIENTRY WinExcludeUpdateRegion(HPS hps, HWND hwnd);
-
- #endif /* INCL_WINWINDOWMGR */
-
- #if ((defined(INCL_WINMESSAGEMGR) || !defined(INCL_NOCOMMON)) && !defined(INCL_WINMESSAGEMGR_INCLUDED))
-
- /* QMSG structure */
-
- typedef struct _QMSG { /* qmsg */
- HWND hwnd;
- USHORT msg;
- MPARAM mp1;
- MPARAM mp2;
- ULONG time;
- POINTL ptl;
- } QMSG;
- typedef QMSG FAR *PQMSG;
-
- typedef LHANDLE HMQ; /* hmq */
-
- /*
- ** This is the standard function definition for window procedures.
- ** Typically they are names like "XxxxxxxxWndProc", where the prefix
- ** "Xxxxxxxxx" is replaced by some name descriptive of the window procedure
- ** being declared. Window procedures must be EXPORTED in the definitions
- ** file used by the linker.
- **
- ** MRESULT EXPENTRY MyclassWndProc(HWND hwnd, ** window handle **
- ** USHORT msg, ** message number **
- ** MPARAM mp1, ** 1st (packed) parms **
- ** MPARAM mp2); ** 2nd (packed) parms **
- */
-
- /* Standard Window Messages */
-
- #define WM_NULL 0x0000
- #define WM_CREATE 0x0001
- #define WM_DESTROY 0x0002
-
- #ifndef INCL_SAADEFS
- #define WM_OTHERWINDOWDESTROYED 0x0003
- #endif /* !INCL_SAADEFS */
-
- #define WM_ENABLE 0x0004
- #define WM_SHOW 0x0005
- #define WM_MOVE 0x0006
- #define WM_SIZE 0x0007
- #define WM_ADJUSTWINDOWPOS 0x0008
-
- #define WM_CALCVALIDRECTS 0x0009
-
- #define WM_SETWINDOWPARAMS 0x000a
- #define WM_QUERYWINDOWPARAMS 0x000b
- #define WM_HITTEST 0x000c
- #define WM_ACTIVATE 0x000d
- #define WM_SETFOCUS 0x000f
- #define WM_SETSELECTION 0x0010
-
- /* language support Winproc */
- #define WM_PPAINT 0x0011
- #define WM_PSETFOCUS 0x0012
- #define WM_PSYSCOLORCHANGE 0x0013
- #define WM_PSIZE 0x0014
- #define WM_PACTIVATE 0x0015
- #define WM_PCONTROL 0x0016
-
-
- #define WM_COMMAND 0x0020
- #define WM_SYSCOMMAND 0x0021
- #define WM_HELP 0x0022
- #define WM_PAINT 0x0023
-
- #ifndef INCL_SAADEFS
- #define WM_TIMER 0x0024
- #define WM_SEM1 0x0025
- #define WM_SEM2 0x0026
- #define WM_SEM3 0x0027
- #define WM_SEM4 0x0028
- #endif /* !INCL_SAADEFS */
-
- #define WM_CLOSE 0x0029
- #define WM_QUIT 0x002a
- #define WM_SYSCOLORCHANGE 0x002b
- #define WM_SYSVALUECHANGED 0x002d
- #define WM_APPTERMINATENOTIFY 0x002e
- #define WM_PRESPARAMCHANGED 0x002f
-
- /* Control notification messages */
-
- #define WM_CONTROL 0x0030
- #define WM_VSCROLL 0x0031
- #define WM_HSCROLL 0x0032
- #define WM_INITMENU 0x0033
- #define WM_MENUSELECT 0x0034
- #define WM_MENUEND 0x0035
- #define WM_DRAWITEM 0x0036
- #define WM_MEASUREITEM 0x0037
- #define WM_CONTROLPOINTER 0x0038
- #define WM_CONTROLHEAP 0x0039
- #define WM_QUERYDLGCODE 0x003a
- #define WM_INITDLG 0x003b
- #define WM_SUBSTITUTESTRING 0x003c
- #define WM_MATCHMNEMONIC 0x003d
- #define WM_SAVEAPPLICATION 0x003e
-
- /* Reserve a range of messages for help manager. This range includes */
- /* public messages, defined below, and private ones, which need to be */
- /* reserved here to prevent clashing with application messages */
-
- #define WM_HELPBASE 0x0F00 /* Start of msgs for help manager */
- #define WM_HELPTOP 0x0FFF /* End of msgs for help manager */
-
- #define WM_USER 0x1000
-
- /* WM_COMMAND msg source codes */
-
- #define CMDSRC_PUSHBUTTON 1
- #define CMDSRC_MENU 2
- #define CMDSRC_ACCELERATOR 3
- #define CMDSRC_OTHER 0
-
- /*
- * The following structure and macro are used to access the
- * WM_COMMAND, WM_HELP, and WM_SYSCOMMAND message parameters:
- */
- typedef struct _COMMANDMSG { /* commandmsg */
- USHORT source; /* mp2 */
- BOOL fMouse;
- USHORT cmd; /* mp1 */
- USHORT unused;
- } CMDMSG;
-
- #define COMMANDMSG(pmsg) \
- ((struct _COMMANDMSG FAR *)((PBYTE)pmsg - sizeof(MPARAM) * 2))
-
- /*
- * The following structure is used by the WinQueryQueueInfo() routine
- */
- typedef struct _MQINFO { /* mqi */
- USHORT cb;
- PID pid;
- TID tid;
- USHORT cmsgs;
- PVOID pReserved;
- } MQINFO;
- typedef MQINFO FAR *PMQINFO;
-
- /* WinCreateMsgQueue default size */
-
- #define DEFAULT_QUEUE_SIZE 0x0000
-
- MRESULT APIENTRY WinSendMsg(HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2);
- HMQ APIENTRY WinCreateMsgQueue(HAB hab, SHORT cmsg);
- BOOL APIENTRY WinDestroyMsgQueue(HMQ hmq);
- BOOL APIENTRY WinQueryQueueInfo(HMQ hmq, PMQINFO pmqi, USHORT cbCopy);
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinCancelShutdown(HMQ hmq, BOOL fCancelAlways);
- #endif /* INCL_SAADEFS */
-
- BOOL APIENTRY WinGetMsg(HAB hab, PQMSG pqmsg, HWND hwndFilter,
- USHORT msgFilterFirst, USHORT msgFilterLast);
- BOOL APIENTRY WinPeekMsg(HAB hab, PQMSG pqmsg, HWND hwndFilter,
- USHORT msgFilterFirst, USHORT msgFilterLast,
- USHORT fs);
-
- MRESULT APIENTRY WinDispatchMsg(HAB hab, PQMSG pqmsg);
-
- BOOL APIENTRY WinPostMsg(HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2);
- BOOL APIENTRY WinRegisterUserMsg(HAB hab, USHORT msgid, SHORT datatype1,
- SHORT dir1, SHORT datatype2, SHORT dir2,
- SHORT datatyper);
- BOOL APIENTRY WinRegisterUserDatatype(HAB hab, SHORT datatype,
- SHORT count, PSHORT types);
- BOOL APIENTRY WinSetMsgMode(HAB hab, PSZ classname,
- SHORT control);
- BOOL APIENTRY WinSetSynchroMode(HAB hab, SHORT mode);
-
- /* WinPeekMsg() constants */
-
- #define PM_REMOVE 0x0001
- #define PM_NOREMOVE 0x0000
-
- /* WinRegisterUserDatatype datatypes defined in separate file */
- #if (defined(INCL_WINTYPES) && !defined(PMTYPES_INCLUDED))
- #include <pmtypes.h>
- #endif /*INCL_WINTYPES*/
-
- /* WinRegisterUserMsg direction codes */
-
- #define RUM_IN 1
- #define RUM_OUT 2
- #define RUM_INOUT 3
-
- /* WinSetMsgMode constants */
-
- #define SMD_DELAYED 0x0001
- #define SMD_IMMEDIATE 0x0002
-
- /* WinSetSynchroMode constants */
-
- #define SSM_SYNCHRONOUS 0x0001
- #define SSM_ASYNCHRONOUS 0x0002
- #define SSM_MIXED 0x0003
-
- #endif /* WINMESSAGEMGR || !INCL_NOCOMMON */
-
- #if (defined(INCL_WINMESSAGEMGR) && !defined(INCL_WINMESSAGEMGR_INCLUDED))
- #define INCL_WINMESSAGEMGR_INCLUDED
-
- /* WM_CALCVALIDRECTS return flags */
-
- #define CVR_ALIGNLEFT 0x0001
- #define CVR_ALIGNBOTTOM 0x0002
- #define CVR_ALIGNRIGHT 0x0004
- #define CVR_ALIGNTOP 0x0008
- #define CVR_REDRAW 0x0010
-
-
- /* WM_HITTEST return codes */
-
- #define HT_NORMAL 0
- #define HT_TRANSPARENT (-1)
- #define HT_DISCARD (-2)
- #define HT_ERROR (-3)
-
-
- /* WM_SET/QUERYWINDOWPARAMS structures and flags */
-
- typedef struct _WNDPARAMS { /* wprm */
- USHORT fsStatus;
- USHORT cchText;
- PSZ pszText;
- USHORT cbPresParams;
- PVOID pPresParams;
- USHORT cbCtlData;
- PVOID pCtlData;
- } WNDPARAMS;
- typedef WNDPARAMS FAR *PWNDPARAMS;
-
- /* Flags used by WM_SET/QUERYWINDOWPARAMS */
-
- #define WPM_TEXT 0x0001
- #define WPM_CTLDATA 0x0002
- #define WPM_PRESPARAMS 0x0004
- #define WPM_CCHTEXT 0x0008
- #define WPM_CBCTLDATA 0x0010
- #define WPM_CBPRESPARAMS 0x0020
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinInSendMsg(HAB hab);
-
- #endif /* INCL_SAADEFS */
-
- BOOL APIENTRY WinBroadcastMsg(HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2,
- USHORT fs);
-
- /* WinBroadcastMsg codes */
-
- #define BMSG_POST 0x0000
- #define BMSG_SEND 0x0001
- #define BMSG_POSTQUEUE 0x0002
- #define BMSG_DESCENDANTS 0x0004
- #define BMSG_FRAMEONLY 0x0008
-
-
- BOOL APIENTRY WinWaitMsg(HAB hab, USHORT msgFirst, USHORT msgLast);
-
- #ifndef INCL_SAADEFS
- ULONG APIENTRY WinQueryQueueStatus(HWND hwndDesktop);
-
- /* WinQueryQueueStatus() constants */
-
- #define QS_KEY 0x0001
- #define QS_MOUSEBUTTON 0x0002
- #define QS_MOUSEMOVE 0x0004
- #define QS_MOUSE 0x0006 /* QS_MOUSEMOVE|QS_MOUSEBUTTON */
- #define QS_TIMER 0x0008
- #define QS_PAINT 0x0010
- #define QS_POSTMSG 0x0020
- #define QS_SEM1 0x0040
- #define QS_SEM2 0x0080
- #define QS_SEM3 0x0100
- #define QS_SEM4 0x0200
- #define QS_SENDMSG 0x0400
-
-
- BOOL APIENTRY WinQueryMsgPos(HAB hab, PPOINTL pptl);
- ULONG APIENTRY WinQueryMsgTime(HAB hab);
-
- USHORT APIENTRY WinMsgSemWait(HSEM hsem, LONG lTimeout);
- USHORT APIENTRY WinMsgMuxSemWait(PUSHORT pisemCleared, PVOID pmxsl,
- LONG dtTimeout);
- #endif /* !INCL_SAADEFS */
- BOOL APIENTRY WinPostQueueMsg(HMQ hmq, USHORT msg, MPARAM mp1, MPARAM mp2);
-
- #endif /* INCL_WINMESSAGEMGR */
-
- /*** Keyboard and mouse */
-
- #if (defined(INCL_WININPUT) || !defined(INCL_NOCOMMON))
-
- /*** Keyboard and mouse input COMMON subsection */
- BOOL APIENTRY WinSetFocus(HWND hwndDesktop, HWND hwndSetFocus);
- BOOL APIENTRY WinFocusChange(HWND hwndDesktop, HWND hwndSetFocus,
- USHORT fsFocusChange);
-
- #define FC_NOSETFOCUS 0x0001
- #define FC_NOBRINGTOTOP FC_NOSETFOCUS
- #define FC_NOLOSEFOCUS 0x0002
- #define FC_NOBRINGTOPFIRSTWINDOW FC_NOLOSEFOCUS
- #define FC_NOSETACTIVEFOCUS 0x0003
- #define FC_NOSETACTIVE 0x0004
- #define FC_NOLOSEACTIVE 0x0008
- #define FC_NOSETSELECTION 0x0010
- #define FC_NOLOSESELECTION 0x0020
-
- #define QFC_NEXTINCHAIN 0x0001
- #define QFC_ACTIVE 0x0002
- #define QFC_FRAME 0x0003
- #define QFC_SELECTACTIVE 0x0004
-
- #endif /* Keyboard and mouse input COMMON subsection */
-
- #if (defined(INCL_WININPUT) && !defined(INCL_WININPUT_INCLUDED))
- #define INCL_WININPUT_INCLUDED
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinSetCapture(HWND hwndDesktop, HWND hwnd);
- #endif /* !INCL_SAADEFS */
- HWND APIENTRY WinQueryCapture(HWND hwndDesktop, BOOL fLock);
-
- /* Mouse input messages */
-
- #ifndef INCL_SAADEFS
- #define WM_MOUSEFIRST 0x0070
- #define WM_MOUSELAST 0x0079
- #define WM_BUTTONCLICKFIRST 0x0071
- #define WM_BUTTONCLICKLAST 0x0079
- #endif /* !INCL_SAADEFS */
- #define WM_MOUSEMOVE 0x0070
-
- #define WM_BUTTON1DOWN 0x0071
-
- #define WM_BUTTON1UP 0x0072
- #define WM_BUTTON1DBLCLK 0x0073
- #define WM_BUTTON2DOWN 0x0074
- #define WM_BUTTON2UP 0x0075
- #define WM_BUTTON2DBLCLK 0x0076
- #ifndef INCL_SAADEFS
- #define WM_BUTTON3DOWN 0x0077
- #define WM_BUTTON3UP 0x0078
- #define WM_BUTTON3DBLCLK 0x0079
- #endif /* !INCL_SAADEFS */
-
- HWND APIENTRY WinQueryFocus(HWND hwndDesktop, BOOL fLock);
-
-
- /* Key/Character input messages */
-
- #define WM_CHAR 0x007a
- #define WM_VIOCHAR 0x007b
-
- /* WM_CHAR fs field bits */
-
- #define KC_CHAR 0x0001
- #define KC_VIRTUALKEY 0x0002
- #define KC_SCANCODE 0x0004
-
- #define KC_SHIFT 0x0008
- #define KC_CTRL 0x0010
- #define KC_ALT 0x0020
- #define KC_KEYUP 0x0040
- #define KC_PREVDOWN 0x0080
- #define KC_LONEKEY 0x0100
- #define KC_DEADKEY 0x0200
- #define KC_COMPOSITE 0x0400
- #define KC_INVALIDCOMP 0x0800
-
- #ifndef INCL_SAADEFS
- #define KC_TOGGLE 0x1000
- #define KC_INVALIDCHAR 0x2000
- #define KC_DBCSRSRVD1 0x4000
- #define KC_DBCSRSRVD2 0x8000
- #endif /* !INCL_SAADEFS */
-
- /*
- * The following structure and macro are used to access the
- * WM_MOUSEMOVE, and WM_BUTTON message parameters
- */
- typedef struct _MOUSEMSG { /* mousemsg */
- USHORT codeHitTest; /* mp2 */
- USHORT unused;
- SHORT x; /* mp1 */
- SHORT y;
- } MSEMSG;
-
- #define MOUSEMSG(pmsg) \
- ((struct _MOUSEMSG FAR *)((PBYTE)pmsg - sizeof(MPARAM) * 2))
-
- /*
- * The following structure and macro are used to access the
- * WM_CHAR message parameters.
- */
- typedef struct _CHARMSG { /* charmsg */
- USHORT chr; /* mp2 */
- USHORT vkey;
- USHORT fs; /* mp1 */
- UCHAR cRepeat;
- UCHAR scancode;
- } CHRMSG;
-
- #define CHARMSG(pmsg) \
- ((struct _CHARMSG FAR *)((PBYTE)pmsg - sizeof(MPARAM) * 2))
-
- /*** Virtual key values */
-
- #define VK_BUTTON1 0x01
- #define VK_BUTTON2 0x02
- #define VK_BUTTON3 0x03
- #define VK_BREAK 0x04
- #define VK_BACKSPACE 0x05
- #define VK_TAB 0x06
- #define VK_BACKTAB 0x07
- #define VK_NEWLINE 0x08
- #define VK_SHIFT 0x09
- #define VK_CTRL 0x0A
- #define VK_ALT 0x0B
- #define VK_ALTGRAF 0x0C
- #define VK_PAUSE 0x0D
- #define VK_CAPSLOCK 0x0E
- #define VK_ESC 0x0F
- #define VK_SPACE 0x10
- #define VK_PAGEUP 0x11
- #define VK_PAGEDOWN 0x12
- #define VK_END 0x13
- #define VK_HOME 0x14
- #define VK_LEFT 0x15
- #define VK_UP 0x16
- #define VK_RIGHT 0x17
- #define VK_DOWN 0x18
- #define VK_PRINTSCRN 0x19
- #define VK_INSERT 0x1A
- #define VK_DELETE 0x1B
- #define VK_SCRLLOCK 0x1C
- #define VK_NUMLOCK 0x1D
- #define VK_ENTER 0x1E
- #define VK_SYSRQ 0x1F
- #define VK_F1 0x20
- #define VK_F2 0x21
- #define VK_F3 0x22
- #define VK_F4 0x23
- #define VK_F5 0x24
- #define VK_F6 0x25
- #define VK_F7 0x26
- #define VK_F8 0x27
- #define VK_F9 0x28
- #define VK_F10 0x29
- #define VK_F11 0x2A
- #define VK_F12 0x2B
- #define VK_F13 0x2C
- #define VK_F14 0x2D
- #define VK_F15 0x2E
- #define VK_F16 0x2F
- #define VK_F17 0x30
- #define VK_F18 0x31
- #define VK_F19 0x32
- #define VK_F20 0x33
- #define VK_F21 0x34
- #define VK_F22 0x35
- #define VK_F23 0x36
- #define VK_F24 0x37
-
-
- #define VK_MENU VK_F10
- #ifdef INCL_NLS
- #define VK_DBCSFIRST 0x0080
- #define VK_DBCSLAST 0x00ff
- #endif /* INCL_NLS */
-
- #define VK_USERFIRST 0x0100
- #define VK_USERLAST 0x01ff
-
- #ifndef INCL_SAADEFS
-
- SHORT APIENTRY WinGetKeyState(HWND hwndDesktop, SHORT vkey);
- SHORT APIENTRY WinGetPhysKeyState(HWND hwndDesktop, SHORT sc);
- BOOL APIENTRY WinEnablePhysInput(HWND hwndDesktop, BOOL fEnable);
- BOOL APIENTRY WinIsPhysInputEnabled(HWND hwndDesktop);
- BOOL APIENTRY WinSetKeyboardStateTable(HWND hwndDesktop,
- PBYTE pKeyStateTable, BOOL fSet);
-
-
- /* Journal Notification messages */
- #define WM_JOURNALNOTIFY 0x007c
-
- /*** Define the valid commands (lParm1) for journal notify message */
- #define JRN_QUEUESTATUS 0x00000001L
- #define JRN_PHYSKEYSTATE 0x00000002L
-
- #endif /* !INCL_SAADEFS */
- #endif /* INCL_WININPUT */
-
-
- /**** Dialog Manager */
-
- #if (defined(INCL_WINDIALOGS) || !defined(INCL_NOCOMMON))
- /**** Dialog Manager COMMON subsection */
-
- /*
- ** This is the standard function definition for dialog procedures.
- ** Typically they are names like "XxxxxxxxDlgProc", where the prefix
- ** "Xxxxxxxxx" is replaced by some name descriptive of the dialog procedure
- ** being declared. Dialog procedures must be EXPORTED in the definitions
- ** file used by the linker. The dialog procedure declaration is identical
- ** to that for window procedures.
- **
- ** MRESULT EXPENTRY MydialogDlgProc(HWND hwnd, ** window handle **
- ** USHORT msg, ** message number **
- ** MPARAM mp1, ** 1st (packed) parms **
- ** MPARAM mp2); ** 2nd (packed) parms **
- */
-
- BOOL APIENTRY WinGetDlgMsg(HWND hwndDlg, PQMSG pqmsg);
-
-
- HWND APIENTRY WinLoadDlg(HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
- HMODULE hmod, USHORT idDlg, PVOID pCreateParams);
- USHORT APIENTRY WinDlgBox(HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
- HMODULE hmod, USHORT idDlg, PVOID pCreateParams);
-
- BOOL APIENTRY WinDismissDlg(HWND hwndDlg, USHORT usResult);
-
- BOOL APIENTRY WinQueryDlgItemShort(HWND hwndDlg, USHORT idItem,
- PSHORT psResult, BOOL fSigned);
- BOOL APIENTRY WinSetDlgItemShort(HWND hwndDlg, USHORT idItem,
- USHORT usValue, BOOL fSigned);
- BOOL APIENTRY WinSetDlgItemText(HWND hwndDlg, USHORT idItem, PSZ pszText);
- USHORT APIENTRY WinQueryDlgItemText(HWND hwndDlg, USHORT idItem,
- SHORT cchBufferMax, PSZ pszBuf);
- SHORT APIENTRY WinQueryDlgItemTextLength(HWND hwndDlg, USHORT idItem);
-
- MRESULT APIENTRY WinDefDlgProc(HWND hwndDlg, USHORT msg, MPARAM mp1,
- MPARAM mp2);
-
- /* Special item IDs */
-
- #ifndef INCL_SAADEFS
- #define DID_OK 1
- #define DID_CANCEL 2
- #define DID_ERROR 0xffff
- #endif /* !INCL_SAADEFS */
-
- BOOL APIENTRY WinAlarm(HWND hwndDesktop, USHORT fsType);
-
- /* WinAlarm Codes */
-
- #define WA_WARNING 0
- #define WA_NOTE 1
- #define WA_ERROR 2
- #define WA_CWINALARMS 3
-
- USHORT APIENTRY WinMessageBox(HWND hwndParent, HWND hwndOwner, PSZ pszText,
- PSZ pszCaption, USHORT idWindow, USHORT flStyle);
-
- /* Message box types */
-
- #define MB_OK 0x0000
- #define MB_OKCANCEL 0x0001
- #define MB_RETRYCANCEL 0x0002
- #define MB_ABORTRETRYIGNORE 0x0003
- #define MB_YESNO 0x0004
- #define MB_YESNOCANCEL 0x0005
- #define MB_CANCEL 0x0006
- #define MB_ENTER 0x0007
- #define MB_ENTERCANCEL 0x0008
-
- #define MB_NOICON 0x0000
- #define MB_CUANOTIFICATION 0x0000
- #define MB_ICONQUESTION 0x0010
- #define MB_ICONEXCLAMATION 0x0020
- #define MB_CUAWARNING 0x0020
- #define MB_ICONASTERISK 0x0030
- #define MB_ICONHAND 0x0040
- #define MB_CUACRITICAL 0x0040
- #define MB_QUERY MB_ICONQUESTION
- #define MB_WARNING MB_CUAWARNING
- #define MB_INFORMATION MB_ICONASTERISK
- #define MB_CRITICAL MB_CUACRITICAL
- #define MB_ERROR MB_CRITICAL
-
- #define MB_DEFBUTTON1 0x0000
- #define MB_DEFBUTTON2 0x0100
- #define MB_DEFBUTTON3 0x0200
-
- #define MB_APPLMODAL 0x0000
- #define MB_SYSTEMMODAL 0x1000
- #define MB_HELP 0x2000
- #define MB_MOVEABLE 0x4000
-
-
- /* Message box return codes */
-
- #define MBID_OK 1
- #define MBID_CANCEL 2
- #define MBID_ABORT 3
- #define MBID_RETRY 4
- #define MBID_IGNORE 5
- #define MBID_YES 6
- #define MBID_NO 7
- #define MBID_HELP 8
- #define MBID_ENTER 9
- #define MBID_ERROR 0xffff
-
- #endif /* Dialog Manager COMMON subsection */
-
-
- #if (defined(INCL_WINDIALOGS) && !defined(INCL_WINDIALOGS_INCLUDED))
- #define INCL_WINDIALOGS_INCLUDED
-
- /* Dialog codes: returned by WM_QUERYDLGCODE msg */
-
- #define DLGC_ENTRYFIELD 0x0001 /* Entry field item understands EM_SETSEL) */
- #define DLGC_BUTTON 0x0002 /* Button item */
- #define DLGC_RADIOBUTTON 0x0004 /* Radio button */
- #define DLGC_STATIC 0x0008 /* Static item */
- #define DLGC_DEFAULT 0x0010 /* Default push button */
- #define DLGC_PUSHBUTTON 0x0020 /* Normal (Non-default) push button */
- #define DLGC_CHECKBOX 0x0040 /* Check box button control */
- #define DLGC_SCROLLBAR 0x0080 /* Scroll bar */
- #define DLGC_MENU 0x0100 /* Menu */
- #define DLGC_TABONCLICK 0x0200
- #define DLGC_MLE 0x0400 /* Multiple Line Entry */
-
-
- USHORT APIENTRY WinProcessDlg(HWND hwndDlg);
- USHORT APIENTRY WinStartDlg(HWND hwndDlg);
- MRESULT APIENTRY WinSendDlgItemMsg(HWND hwndDlg, USHORT idItem, USHORT msg,
- MPARAM mp1, MPARAM mp2);
- BOOL APIENTRY WinMapDlgPoints(HWND hwndDlg, PPOINTL pptl, USHORT cwpt,
- BOOL fCalcWindowCoords);
- HWND APIENTRY WinEnumDlgItem(HWND hwndDlg, HWND hwnd, USHORT code,
- BOOL fLock);
- SHORT APIENTRY WinSubstituteStrings(HWND hwnd, PSZ pszSrc, SHORT cchDstMax,
- PSZ pszDst);
-
- /* WinEnumDlgItem() constants
- *
- * In OS/2 1.2, WinEnumDlgItem() can enumerate a window such that the
- * selection cursor may be moved according to CUA (Common User Access)
- * rules.
- */
-
- #define EDI_FIRSTTABITEM 0
- #define EDI_LASTTABITEM 1
- #define EDI_NEXTTABITEM 2
- #define EDI_PREVTABITEM 3
- #define EDI_FIRSTGROUPITEM 4
- #define EDI_LASTGROUPITEM 5
- #define EDI_NEXTGROUPITEM 6
- #define EDI_PREVGROUPITEM 7
-
- /*** Dialog template definitions */
-
- /* Variable-sized dialog template items: */
-
- typedef struct _DLGTITEM { /* dlgti */
- USHORT fsItemStatus;
- USHORT cChildren;
- USHORT cchClassName;
- USHORT offClassName;
- USHORT cchText;
- USHORT offText;
- ULONG flStyle;
- SHORT x;
- SHORT y;
- SHORT cx;
- SHORT cy;
- USHORT id;
- USHORT offPresParams;
- USHORT offCtlData;
- } DLGTITEM;
- typedef DLGTITEM FAR *PDLGTITEM;
-
- /* Dialog Template structure */
-
- typedef struct _DLGTEMPLATE { /* dlgt */
- USHORT cbTemplate;
- USHORT type;
- USHORT codepage;
- USHORT offadlgti;
- USHORT fsTemplateStatus;
- USHORT iItemFocus;
- USHORT coffPresParams;
- DLGTITEM adlgti[1];
- } DLGTEMPLATE;
- typedef DLGTEMPLATE FAR *PDLGTEMPLATE;
-
- HWND APIENTRY WinCreateDlg(HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
- PDLGTEMPLATE pdlgt, PVOID pCreateParams);
-
-
- #endif /* INCL_WINDIALOGS */
-
-
- #if (defined(INCL_WINSTATICS) && !defined(INCL_WINSTATICS_INCLUDED))
- #define INCL_WINSTATICS_INCLUDED
-
- /*** Static Control Manager */
-
- /* Static control styles:
- *
- * NOTE: the top 9 bits of the LOWORD of the window flStyle are used for
- * DT_* flags. The lower 7 bits are for SS_* styles. This gives us up
- * to 128 distinct static control types (we currently use 11 of them).
- */
- #define SS_TEXT 0x0001L
- #define SS_GROUPBOX 0x0002L
-
- #ifndef INCL_SAADEFS
- #define SS_ICON 0x0003L
- #define SS_BITMAP 0x0004L
- #endif /* !INCL_SAADEFS */
- #define SS_FGNDRECT 0x0005L
- #ifndef INCL_SAADEFS
- #define SS_HALFTONERECT 0x0006L
- #endif /* !INCL_SAADEFS */
- #define SS_BKGNDRECT 0x0007L
- #define SS_FGNDFRAME 0x0008L
- #ifndef INCL_SAADEFS
- #define SS_HALFTONEFRAME 0x0009L
- #endif /* !INCL_SAADEFS */
- #define SS_BKGNDFRAME 0x000aL
- #define SS_SYSICON 0x000bL
-
- /* Static control class name */
-
- #define WC_STATIC ((PSZ)0xffff0005L)
-
- /* Static control messages */
-
- #define SM_SETHANDLE 0x0100
- #define SM_QUERYHANDLE 0x0101
-
- #endif /* INCL_WINSTATICS */
-
-
- #if (defined(INCL_WINBUTTONS) && !defined(INCL_WINBUTTONS_INCLUDED))
- #define INCL_WINBUTTONS_INCLUDED
- /**** Button Controls Subsection */
-
- /* Button control styles */
-
- #define BS_PUSHBUTTON 0L
- #define BS_CHECKBOX 1L
- #define BS_AUTOCHECKBOX 2L
- #define BS_RADIOBUTTON 3L
- #define BS_AUTORADIOBUTTON 4L
- #define BS_3STATE 5L
- #define BS_AUTO3STATE 6L
-
- #ifndef INCL_SAADEFS
- #define BS_USERBUTTON 7L
- #endif /* !INCL_SAADEFS */
-
- #define BS_HELP 0x0100L
- #define BS_SYSCOMMAND 0x0200L
- #define BS_DEFAULT 0x0400L
- #define BS_NOPOINTERFOCUS 0x0800L
- #define BS_NOBORDER 0x1000L
- #define BS_NOCURSORSELECT 0x2000L
-
-
- /* Button class name */
-
- #define WC_BUTTON ((PSZ)0xffff0003L)
-
-
- #ifndef INCL_SAADEFS
- typedef struct _BTNCDATA { /* btncd */
- USHORT cb;
- USHORT fsCheckState;
- USHORT fsHiliteState;
- } BTNCDATA;
- typedef BTNCDATA FAR *PBTNCDATA;
- #endif /* !INCL_SAADEFS */
-
- /* User button structure (passed in WM_CONTROL msg) */
-
- #ifndef INCL_SAADEFS
- typedef struct _USERBUTTON { /* ubtn */
- HWND hwnd;
- HPS hps;
- USHORT fsState;
- USHORT fsStateOld;
- } USERBUTTON;
- typedef USERBUTTON FAR *PUSERBUTTON;
- #endif /* !INCL_SAADEFS */
-
- /* Button control messages */
-
- #define BM_CLICK 0x0120
- #define BM_QUERYCHECKINDEX 0x0121
- #define BM_QUERYHILITE 0x0122
- #define BM_SETHILITE 0x0123
- #define BM_QUERYCHECK 0x0124
- #define BM_SETCHECK 0x0125
- #define BM_SETDEFAULT 0x0126
-
- /* Button notification codes */
-
- #define BN_CLICKED 1
- #define BN_DBLCLICKED 2
- #define BN_PAINT 3
-
- /* BN_PAINT button draw state codes (must be in high byte) */
-
- #ifndef INCL_SAADEFS
- #define BDS_HILITED 0x0100
- #define BDS_DISABLED 0x0200
- #define BDS_DEFAULT 0x0400
-
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINBUTTONS */
-
-
- #if (defined(INCL_WINENTRYFIELDS) && !defined(INCL_WINENTRYFIELDS_INCLUDED))
- #define INCL_WINENTRYFIELDS_INCLUDED
- /**** Entryfield controls Subsection */
-
- /* Entry field styles */
-
- #define ES_LEFT 0x00000000L
- #define ES_CENTER 0x00000001L
- #define ES_RIGHT 0x00000002L
-
- #ifndef INCL_SAADEFS
- #define ES_AUTOSCROLL 0x00000004L
- #endif /* !INCL_SAADEFS */
-
- #define ES_MARGIN 0x00000008L
- #define ES_AUTOTAB 0x00000010L
- #define ES_READONLY 0x00000020L
- #define ES_COMMAND 0x00000040L
- #define ES_UNREADABLE 0x00000080L
- #define ES_PICTUREMASK 0x00000100L
-
- #ifdef INCL_NLS
- #define ES_ANY 0x00000000L
- #define ES_SBCS 0x00100000L
- #define ES_DBCS 0x00200000L
- #define ES_MIXED 0x00300000L
- #endif /* INCL_NLS */
-
- #define WC_COMBOBOX ((PSZ)0xffff0002L)
-
- /*
- * combo box styles
- */
- #define CBS_SIMPLE 0x0001L
- #define CBS_DROPDOWN 0x0002L
- #define CBS_DROPDOWNLIST 0x0004L
-
- #define CBM_SHOWLIST 0x0170L
- #define CBM_HILITE 0x0171L
- #define CBM_ISLISTSHOWING 0x0172L
-
- #define CBN_EFCHANGE 1
- #define CBN_EFSCROLL 2
- #define CBN_MEMERROR 3
- #define CBN_LBSELECT 4
- #define CBN_LBSCROLL 5
- #define CBN_SHOWLIST 6
- #define CBN_ENTER 7
-
- #define WC_ENTRYFIELD ((PSZ)0xffff0006L)
-
- #ifndef INCL_SAADEFS
- typedef struct _ENTRYFDATA { /* efd */
- USHORT cb;
- USHORT cchEditLimit;
- USHORT ichMinSel;
- USHORT ichMaxSel;
- } ENTRYFDATA;
- typedef ENTRYFDATA FAR *PENTRYFDATA;
-
- #endif /* !INCL_SAADEFS */
-
- /* Entry Field messages */
-
- #define EM_QUERYCHANGED 0x0140
- #define EM_QUERYSEL 0x0141
- #define EM_SETSEL 0x0142
- #define EM_SETTEXTLIMIT 0x0143
-
- #ifndef INCL_SAADEFS
- #define EM_CUT 0x0144
- #define EM_COPY 0x0145
- #endif /* !INCL_SAADEFS */
- #define EM_CLEAR 0x0146
- #ifndef INCL_SAADEFS
- #define EM_PASTE 0x0147
- #endif /* !INCL_SAADEFS */
- #define EM_QUERYFIRSTCHAR 0x0148
- #define EM_SETFIRSTCHAR 0x0149
- #ifndef INCL_SAADEFS
- #define EM_QUERYREADONLY 0x014a
- #define EM_SETREADONLY 0x014b
- #define EM_SETINSERTMODE 0x014c
- #endif /* !INCL_SAADEFS */
-
- /* Entry Field notification messages */
-
- #define EN_SETFOCUS 0x0001
- #define EN_KILLFOCUS 0x0002
- #define EN_CHANGE 0x0004
- #define EN_SCROLL 0x0008
- #ifndef INCL_SAADEFS
- #define EN_MEMERROR 0x0010
- #define EN_OVERFLOW 0x0020
- #define EN_INSERTMODETOGGLE 0x0040
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINENTRYFIELDS */
-
-
- /* Multiple Line Entrys */
- #if (defined(INCL_WINMLE) && !defined(PMMLE_INCLUDED))
- #define WC_MLE ((PSZ)0xffff000aL)
- #include <pmmle.h>
- #endif /* !INCL_WINMLE */
-
- #if (defined(INCL_WINLISTBOXES) && !defined(INCL_WINLISTBOXES_INCLUDED))
- #define INCL_WINLISTBOXES_INCLUDED
-
- /**** Listboxes */
-
- /* List box styles */
-
- #define LS_MULTIPLESEL 0x00000001L
-
- #ifndef INCL_SAADEFS
- #define LS_OWNERDRAW 0x00000002L
- #endif /* !INCL_SAADEFS */
-
- #define LS_NOADJUSTPOS 0x00000004L
- #define LS_HORZSCROLL 0x00000008L
-
-
- /* Listbox class name */
-
- #define WC_LISTBOX ((PSZ)0xffff0007L)
-
- /* List box notification messages */
-
- #define LN_SELECT 1
- #define LN_SETFOCUS 2
- #define LN_KILLFOCUS 3
- #define LN_SCROLL 4
- #define LN_ENTER 5
-
- /* List box messages */
-
- #define LM_QUERYITEMCOUNT 0x0160
- #define LM_INSERTITEM 0x0161
- #define LM_SETTOPINDEX 0x0162
- #define LM_DELETEITEM 0x0163
- #define LM_SELECTITEM 0x0164
- #define LM_QUERYSELECTION 0x0165
- #define LM_SETITEMTEXT 0x0166
- #define LM_QUERYITEMTEXTLENGTH 0x0167
- #define LM_QUERYITEMTEXT 0x0168
-
- #define LM_SETITEMHANDLE 0x0169
- #define LM_QUERYITEMHANDLE 0x016a
- #define LM_SEARCHSTRING 0x016b
- #define LM_SETITEMHEIGHT 0x016c
- #define LM_QUERYTOPINDEX 0x016d
- #define LM_DELETEALL 0x016e
-
- /* List box constants */
-
- #define LIT_ERROR (-3)
- #define LIT_MEMERROR (-2)
- #define LIT_NONE (-1)
- #define LIT_FIRST (-1)
-
- /* For LM_INSERTITEM msg */
-
- #define LIT_END (-1)
- #define LIT_SORTASCENDING (-2)
- #define LIT_SORTDESCENDING (-3)
-
- /* For LM_SEARCHSTRING msg */
-
- #define LSS_SUBSTRING 0x0001
- #define LSS_PREFIX 0x0002
- #define LSS_CASESENSITIVE 0x0004
-
-
- #endif /* INCL_WINLISTBOXES */
-
-
- #if (defined(INCL_WINMENUS) && !defined(INCL_WINMENUS_INCLUDED))
- #define INCL_WINMENUS_INCLUDED
-
- /**** Menu Manager Subsection */
-
- /* Menu control styles */
-
- #define MS_ACTIONBAR 0x00000001L
- #define MS_TITLEBUTTON 0x00000002L
- #define MS_VERTICALFLIP 0x00000004L
-
- HWND APIENTRY WinLoadMenu(HWND hwndFrame, HMODULE hmod, USHORT idMenu);
-
- /* Menu class name */
-
- #define WC_MENU ((PSZ)0xffff0004L)
-
- /* Menu control messages */
-
- #define MM_INSERTITEM 0x0180
- #define MM_DELETEITEM 0x0181
- #define MM_QUERYITEM 0x0182
- #define MM_SETITEM 0x0183
- #define MM_QUERYITEMCOUNT 0x0184
- #define MM_STARTMENUMODE 0x0185
- #define MM_ENDMENUMODE 0x0186
- #define MM_DISMISSMENU 0x0187
- #define MM_REMOVEITEM 0x0188
- #define MM_SELECTITEM 0x0189
- #define MM_QUERYSELITEMID 0x018a
- #define MM_QUERYITEMTEXT 0x018b
- #define MM_QUERYITEMTEXTLENGTH 0x018c
- #define MM_SETITEMHANDLE 0x018d
- #define MM_SETITEMTEXT 0x018e
- #define MM_ITEMPOSITIONFROMID 0x018f
- #define MM_ITEMIDFROMPOSITION 0x0190
- #define MM_QUERYITEMATTR 0x0191
- #define MM_SETITEMATTR 0x0192
- #define MM_ISITEMVALID 0x0193
-
- HWND APIENTRY WinCreateMenu(HWND hwndParent, PVOID pvmt);
-
- /* Owner Item Structure (Also used for listboxes) */
-
- #ifndef INCL_SAADEFS
- typedef struct _OWNERITEM { /* oi */
- HWND hwnd;
- HPS hps;
- USHORT fsState;
- USHORT fsAttribute;
- USHORT fsStateOld;
- USHORT fsAttributeOld;
- RECTL rclItem;
- SHORT idItem; /* This field contains idItem for menus, iItem for lb. */
- ULONG hItem;
- } OWNERITEM;
- typedef OWNERITEM FAR *POWNERITEM;
- #endif /* !INCL_SAADEFS */
-
- /* Menu item */
-
- typedef struct _MENUITEM { /* mi */
- SHORT iPosition;
- USHORT afStyle;
- USHORT afAttribute;
- USHORT id;
- HWND hwndSubMenu;
- ULONG hItem;
- } MENUITEM;
- typedef MENUITEM FAR *PMENUITEM;
-
- #define MIT_END (-1)
- #define MIT_NONE (-1)
- #define MIT_MEMERROR (-1)
- #define MIT_ERROR (-1)
- #define MID_NONE MIT_NONE
- #define MID_ERROR (-1)
-
- /* Menu item styles & attributes */
-
- #define MIS_TEXT 0x0001
-
- #ifndef INCL_SAADEFS
- #define MIS_BITMAP 0x0002
- #endif /* !INCL_SAADEFS */
- #define MIS_SEPARATOR 0x0004
-
- #ifndef INCL_SAADEFS
- #define MIS_OWNERDRAW 0x0008
- #endif /* !INCL_SAADEFS */
-
- #define MIS_SUBMENU 0x0010
- #define MIS_MULTMENU 0x0020 /* multiple choice submenu */
- #define MIS_SYSCOMMAND 0x0040
- #define MIS_HELP 0x0080
- #define MIS_STATIC 0x0100
- #define MIS_BUTTONSEPARATOR 0x0200
- #define MIS_BREAK 0x0400
- #define MIS_BREAKSEPARATOR 0x0800
- #define MIS_GROUP 0x1000 /* multiple choice group start */
- /* In multiple choice submenus a style of 'single' denotes the item is a
- ** radiobutton. Absence of this style defaults the item to a checkbox. */
- #define MIS_SINGLE 0x2000
-
- #define MIA_NODISMISS 0x0020
- #define MIA_FRAMED 0x1000
- #define MIA_CHECKED 0x2000
- #define MIA_DISABLED 0x4000
- #define MIA_HILITED 0x8000
-
- #endif /* INCL_WINMENUS */
-
-
- #if (defined(INCL_WINSCROLLBARS) && !defined(INCL_WINSCROLLBARS_INCLUDED))
- #define INCL_WINSCROLLBARS_INCLUDED
-
- /*** Scroll Bar controls Subsection */
-
- /* Scroll Bar styles */
-
- #define SBS_HORZ 0L
- #define SBS_VERT 1L
- #define SBS_THUMBSIZE 2L
- #define SBS_AUTOTRACK 4L
-
- /* Scroll bar class name */
-
-
- #define WC_SCROLLBAR ((PSZ)0xffff0008L)
-
- /* Scroll Bar messages */
-
- #define SBM_SETSCROLLBAR 0x01a0
- #define SBM_SETPOS 0x01a1
- #define SBM_QUERYPOS 0x01a2
- #define SBM_QUERYRANGE 0x01a3
- #define SBM_SETHILITE 0x01a4
- #define SBM_QUERYHILITE 0x01a5
- #define SBM_SETTHUMBSIZE 0x01a6
-
- /* Scroll Bar Commands */
-
- #define SB_LINEUP 1
- #define SB_LINEDOWN 2
- #define SB_LINELEFT 1
- #define SB_LINERIGHT 2
- #define SB_PAGEUP 3
- #define SB_PAGEDOWN 4
- #define SB_PAGELEFT 3
- #define SB_PAGERIGHT 4
- #define SB_SLIDERTRACK 5
- #define SB_SLIDERPOSITION 6
- #define SB_ENDSCROLL 7
-
-
- #ifndef INCL_SAADEFS
- typedef struct _SBCDATA { /* sbcd */
- USHORT cb;
- USHORT sHilite; /* reserved, should be set to zero */
- SHORT posFirst;
- SHORT posLast;
- SHORT posThumb;
- SHORT cVisible;
- SHORT cTotal;
- } SBCDATA;
- typedef SBCDATA FAR *PSBCDATA;
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINSCROLLBARS */
-
-
- #if ((defined(INCL_WINFRAMEMGR) || !defined(INCL_NOCOMMON)) && !defined(INCL_WINFRAMEMGR_INCLUDED))
-
- /*** Frame Manager Common subsection */
-
- typedef struct _FRAMECDATA { /* fcdata */
- USHORT cb;
- ULONG flCreateFlags;
- HMODULE hmodResources;
- USHORT idResources;
- } FRAMECDATA;
- typedef FRAMECDATA FAR *PFRAMECDATA;
-
- /* Frame window styles */
-
- #define FCF_TITLEBAR 0x00000001L
- #define FCF_SYSMENU 0x00000002L
- #define FCF_MENU 0x00000004L
- #define FCF_SIZEBORDER 0x00000008L
- #define FCF_MINBUTTON 0x00000010L
- #define FCF_MAXBUTTON 0x00000020L
- #define FCF_MINMAX 0x00000030L /* minmax means BOTH buttons */
- #define FCF_VERTSCROLL 0x00000040L
- #define FCF_HORZSCROLL 0x00000080L
- #define FCF_DLGBORDER 0x00000100L
- #define FCF_BORDER 0x00000200L
- #define FCF_SHELLPOSITION 0x00000400L
- #define FCF_TASKLIST 0x00000800L
- #define FCF_NOBYTEALIGN 0x00001000L
- #define FCF_NOMOVEWITHOWNER 0x00002000L
- #define FCF_ICON 0x00004000L
- #define FCF_ACCELTABLE 0x00008000L
- #define FCF_SYSMODAL 0x00010000L
- #define FCF_SCREENALIGN 0x00020000L
- #define FCF_MOUSEALIGN 0x00040000L
- /* New values to enable multiple palettes. Note that if none of the four */
- /* styles specified below are used then we default to the 'system' palette */
- #define FCF_PALETTE_NORMAL 0x00080000L /* normal palette */
- #define FCF_PALETTE_HELP 0x00100000L /* help palette */
- #define FCF_PALETTE_POPUPODD 0x00200000L /* odd level popup palette */
- #define FCF_PALETTE_POPUPEVEN 0x00400000L /* even level popup palette */
- /* FCF_ 0x00800000L is reserved */
- #ifdef INCL_NLS
- #define FCF_DBE_APPSTAT 0x80000000L
- #endif /* INCL_NLS */
-
- /* FCF_TITLEBAR | FCF_SYSMENU | FCF_MENU | FCF_SIZEBORDER | FCF_MINMAX |
- FCF_ICON | FCF_ACCELTABLE | FCF_SHELLPOSITION | FCF_TASKLIST | FCF_PALETTE_NORMAL */
- #define FCF_STANDARD 0x0008CC3FL
-
-
- #define FS_ICON 0x00000001L
- #define FS_ACCELTABLE 0x00000002L
-
- #ifndef INCL_SAADEFS
- #define FS_SHELLPOSITION 0x00000004L
- #endif /* !INCL_SAADEFS */
-
- #define FS_TASKLIST 0x00000008L
- #define FS_NOBYTEALIGN 0x00000010L
- #define FS_NOMOVEWITHOWNER 0x00000020L
- #define FS_SYSMODAL 0x00000040L
- #define FS_DLGBORDER 0x00000080L
- #define FS_BORDER 0x00000100L
- #define FS_SCREENALIGN 0x00000200L
- #define FS_MOUSEALIGN 0x00000400L
- #define FS_SIZEBORDER 0x00000800L
- #ifdef INCL_NLS
- #define FS_DBE_APPSTAT 0x00008000L
- #endif /* INCL_NLS */
-
- /* FS_ICON | FS_ACCELTABLE | FS_SHELLPOSITION | FS_TASKLIST */
- #define FS_STANDARD 0x0000000FL
-
-
- /* Frame Window Flags accessed via WinSet/QueryWindowUShort(QWS_FLAGS) */
-
- #ifndef INCL_SAADEFS
- #define FF_FLASHWINDOW 0x0001
- #define FF_ACTIVE 0x0002
- #define FF_FLASHHILITE 0x0004
- #define FF_OWNERHIDDEN 0x0008
- #define FF_DLGDISMISSED 0x0010
- #define FF_OWNERDISABLED 0x0020
- #define FF_SELECTED 0x0040
- #define FF_NOACTIVATESWP 0x0080
- #endif /* !INCL_SAADEFS */
-
-
- HWND APIENTRY WinCreateStdWindow(HWND hwndParent, ULONG flStyle,
- PULONG pflCreateFlags, PSZ pszClientClass,
- PSZ pszTitle, ULONG flClientStyle,
- HMODULE hmod, USHORT idResources,
- PHWND phwndClient);
-
-
- #endif /* Frame Manager Common subsection */
-
-
- #if (defined(INCL_WINFRAMEMGR) && !defined(INCL_WINFRAMEMGR_INCLUDED))
- #define INCL_WINFRAMEMGR_INCLUDED
-
- BOOL APIENTRY WinFlashWindow(HWND hwndFrame, BOOL fFlash);
-
- /* Frame window related messages */
-
- #define WM_FLASHWINDOW 0x0040
- #define WM_FORMATFRAME 0x0041
- #define WM_UPDATEFRAME 0x0042
- #define WM_FOCUSCHANGE 0x0043
-
- #define WM_SETBORDERSIZE 0x0044
- #define WM_TRACKFRAME 0x0045
- #define WM_MINMAXFRAME 0x0046
- #define WM_SETICON 0x0047
- #define WM_QUERYICON 0x0048
- #define WM_SETACCELTABLE 0x0049
- #define WM_QUERYACCELTABLE 0x004a
- #define WM_TRANSLATEACCEL 0x004b
- #define WM_QUERYTRACKINFO 0x004c
- #define WM_QUERYBORDERSIZE 0x004d
- #define WM_NEXTMENU 0x004e
- #define WM_ERASEBACKGROUND 0x004f
- #define WM_QUERYFRAMEINFO 0x0050
- /* Note 0x0051/5 are reserved */
- #define WM_QUERYFOCUSCHAIN 0x0051
- #define WM_CALCFRAMERECT 0x0053
- #define WM_WINDOWPOSCHANGED 0x0055
- #define WM_QUERYFRAMECTLCOUNT 0x0059
- #ifndef INCL_SAADEFS
- /* Note 0x005A is reserved */
- #define WM_QUERYHELPINFO 0x005B
- #define WM_SETHELPINFO 0x005C
- #define WM_ERROR 0x005D
-
-
- /* WM_QUERYFRAMEINFO constants */
-
- #define FI_FRAME 0x00000001L
- #define FI_OWNERHIDE 0x00000002L
- #define FI_ACTIVATEOK 0x00000004L
- #define FI_NOMOVEWITHOWNER 0x00000008L
-
-
- #endif /* !INCL_SAADEFS */
-
- /* Frame class name */
-
- #define WC_FRAME ((PSZ)0xffff0001L)
-
- BOOL APIENTRY WinCreateFrameControls(HWND hwndFrame, PFRAMECDATA pfcdata,
- PSZ pszTitle);
-
- BOOL APIENTRY WinCalcFrameRect(HWND hwndFrame, PRECTL prcl, BOOL fClient);
-
- BOOL APIENTRY WinGetMinPosition(HWND hwnd, PSWP pswp, PPOINTL pptl);
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinGetMaxPosition(HWND hwnd, PSWP pswp);
- #endif /* !INCL_SAADEFS */
-
- #ifndef INCL_SAADEFS
- SHORT APIENTRY WinFormatFrame(HWND hwndFrame, PRECTL prclFrame, PSWP pswp,
- USHORT cswpMax, PRECTL prclClient);
- #endif /* !INCL_SAADEFS */
-
- /* Frame control IDs */
-
- #define FID_SYSMENU 0x8002
- #define FID_TITLEBAR 0x8003
- #define FID_MINMAX 0x8004
- #define FID_MENU 0x8005
- #define FID_VERTSCROLL 0x8006
- #define FID_HORZSCROLL 0x8007
- #define FID_CLIENT 0x8008
- /* Note 0x8009 is reserved */
- #define FID_DBE_APPSTAT 0x8010
- #define FID_DBE_KBDSTAT 0x8011
- #define FID_DBE_PECIC 0x8012
- #define FID_DBE_KKPOPUP 0x8013
-
- /* Standard WM_SYSCOMMAND command values */
-
- #define SC_SIZE 0x8000
- #define SC_MOVE 0x8001
- #define SC_MINIMIZE 0x8002
- #define SC_MAXIMIZE 0x8003
- #define SC_CLOSE 0x8004
- #define SC_NEXT 0x8005
- #define SC_APPMENU 0x8006
- #define SC_SYSMENU 0x8007
- #define SC_RESTORE 0x8008
- #define SC_NEXTFRAME 0x8009
- #define SC_NEXTWINDOW 0x8010
- #ifndef INCL_SAADEFS
- #define SC_TASKMANAGER 0x8011
- #define SC_HELPKEYS 0x8012
- #define SC_HELPINDEX 0x8013
- #define SC_HELPEXTENDED 0x8014
- #define SC_SWITCHPANELIDS 0x8015
- #define SC_DBE_FIRST 0x8018
- #define SC_DBE_LAST 0x801F
-
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINFRAMEMGR */
-
- /*** Frame controls */
-
- #if (defined(INCL_WINFRAMECTLS) && !defined(INCL_WINFRAMECTLS_INCLUDED))
- #define INCL_WINFRAMECTLS_INCLUDED
-
- /** Title bar controls */
-
- /* Title bar control class name */
-
- #define WC_TITLEBAR ((PSZ)0xffff0009L)
-
- /* Title bar control messages */
-
- #define TBM_SETHILITE 0x01e3
- #define TBM_QUERYHILITE 0x01e4
- #define TBM_TRACKMOVE 0x01e5
-
- #endif /* INCL_WINFRAMECTLS */
-
- #if (defined(INCL_WINRECTANGLES) && !defined(INCL_WINRECTANGLES_INCLUDED))
- #define INCL_WINRECTANGLES_INCLUDED
- /*** Rectangle routines */
-
- BOOL APIENTRY WinCopyRect(HAB hab, PRECTL prclDst, PRECTL prclSrc);
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinSetRect(HAB hab, PRECTL prcl, SHORT xLeft, SHORT yBottom,
- SHORT xRight, SHORT yTop);
- BOOL APIENTRY WinIsRectEmpty(HAB hab, PRECTL prcl);
- BOOL APIENTRY WinEqualRect(HAB hab, PRECTL prcl1, PRECTL prcl2);
- BOOL APIENTRY WinSetRectEmpty(HAB hab, PRECTL prcl);
- BOOL APIENTRY WinOffsetRect(HAB hab, PRECTL prcl, SHORT cx, SHORT cy);
- BOOL APIENTRY WinInflateRect(HAB hab, PRECTL prcl, SHORT cx, SHORT cy);
- BOOL APIENTRY WinPtInRect(HAB hab, PRECTL prcl, PPOINTL pptl);
- BOOL APIENTRY WinIntersectRect(HAB hab, PRECTL prclDst, PRECTL prclSrc1,
- PRECTL prclSrc2);
- BOOL APIENTRY WinUnionRect(HAB hab, PRECTL prclDst, PRECTL prclSrc1,
- PRECTL prclSrc2);
- BOOL APIENTRY WinSubtractRect(HAB hab, PRECTL prclDst, PRECTL prclSrc1,
- PRECTL prclSrc2);
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINRECTANGLES */
-
-
- #if (defined(INCL_WINSYS) && !defined(INCL_WINSYS_INCLUDED))
- #define INCL_WINSYS_INCLUDED
-
- /*** System values */
-
- LONG APIENTRY WinQuerySysValue(HWND hwndDesktop, SHORT iSysValue);
- BOOL APIENTRY WinSetSysValue(HWND hwndDesktop, SHORT iSysValue, LONG lValue);
-
- #define SV_SWAPBUTTON 0
- #define SV_DBLCLKTIME 1
- #define SV_CXDBLCLK 2
- #define SV_CYDBLCLK 3
- #define SV_CXSIZEBORDER 4
- #define SV_CYSIZEBORDER 5
- #define SV_ALARM 6
-
- #ifndef INCL_SAADEFS
- #define SV_RESERVEDFIRST1 7
- #define SV_RESERVEDLAST1 8
- #endif /* !INCL_SAADEFS */
-
- #define SV_CURSORRATE 9
- #define SV_FIRSTSCROLLRATE 10
- #define SV_SCROLLRATE 11
- #define SV_NUMBEREDLISTS 12
- #define SV_WARNINGFREQ 13
- #define SV_NOTEFREQ 14
- #define SV_ERRORFREQ 15
- #define SV_WARNINGDURATION 16
- #define SV_NOTEDURATION 17
- #define SV_ERRORDURATION 18
-
- #ifndef INCL_SAADEFS
- #define SV_RESERVEDFIRST 19
- #define SV_RESERVEDLAST 19
- #endif /* !INCL_SAADEFS */
-
- #define SV_CXSCREEN 20
- #define SV_CYSCREEN 21
- #define SV_CXVSCROLL 22
- #define SV_CYHSCROLL 23
- #define SV_CYVSCROLLARROW 24
- #define SV_CXHSCROLLARROW 25
- #define SV_CXBORDER 26
- #define SV_CYBORDER 27
- #define SV_CXDLGFRAME 28
- #define SV_CYDLGFRAME 29
- #define SV_CYTITLEBAR 30
- #define SV_CYVSLIDER 31
- #define SV_CXHSLIDER 32
- #define SV_CXMINMAXBUTTON 33
- #define SV_CYMINMAXBUTTON 34
- #define SV_CYMENU 35
- #define SV_CXFULLSCREEN 36
- #define SV_CYFULLSCREEN 37
- #define SV_CXICON 38
- #define SV_CYICON 39
- #define SV_CXPOINTER 40
- #define SV_CYPOINTER 41
-
- #define SV_DEBUG 42
- #define SV_CMOUSEBUTTONS 43
- #define SV_POINTERLEVEL 44
- #define SV_CURSORLEVEL 45
- #define SV_TRACKRECTLEVEL 46
-
- #ifndef INCL_SAADEFS
- #define SV_CTIMERS 47
- #endif /* !INCL_SAADEFS */
-
- #define SV_MOUSEPRESENT 48
-
- #define SV_CXBYTEALIGN 49
- #define SV_CYBYTEALIGN 50
-
- /* The following value enables any greater value to be set by WinSetSysVlaue. */
- /* Values of 51-55 are spare for extra non-settable system values */
- /* This is to enable the setting of SV_EXTRAKEYBEEP by applications. */
-
- #define SV_NOTRESERVED 56
- #define SV_EXTRAKEYBEEP 57
-
- /* The following system value controls whether PM controls the keyboard */
- /* lights for light key keystrokes (else applications will) */
- #define SV_SETLIGHTS 58
- #define SV_INSERTMODE 59
-
-
- #define SV_MENUROLLDOWNDELAY 64
- #define SV_MENUROLLUPDELAY 65
- #define SV_ALTMNEMONIC 66
- #define SV_TASKLISTMOUSEACCESS 67
- /* The following is the total number of system values */
- #define SV_CSYSVALUES 68
-
- #define SV_CPOINTERBUTTONS 69
- #define SV_CXALIGN 70
- #define SV_CYALIGN 71
- #define SV_MNEMONICSENABLED 72
-
- /*
- * Presentation parameter structures.
- */
- typedef struct _PARAM { /* param */
- ULONG id;
- ULONG cb;
- BYTE ab[1];
- } PARAM;
- typedef PARAM NEAR *NPPARAM;
- typedef PARAM FAR *PPARAM;
-
- typedef struct _PRESPARAMS { /* pres */
- ULONG cb;
- PARAM aparam[1];
- } PRESPARAMS;
- typedef PRESPARAMS NEAR *NPPRESPARAMS;
- typedef PRESPARAMS FAR *PPRESPARAMS;
-
-
- /*
- * Presentation parameter APIs
- */
- BOOL APIENTRY WinSetPresParam(HWND hwnd, ULONG id, ULONG cbParam,
- PVOID pbParam);
- ULONG APIENTRY WinQueryPresParam(HWND hwnd, ULONG id1, ULONG id2,
- PULONG pulId, ULONG cbBuf, PVOID pbBuf,
- USHORT fs);
- BOOL APIENTRY WinRemovePresParam(HWND hwnd, ULONG id);
-
- /*
- * Presentation parameter types.
- */
-
- #define PP_FOREGROUNDCOLOR 1L
- #define PP_FOREGROUNDCOLORINDEX 2L
- #define PP_BACKGROUNDCOLOR 3L
- #define PP_BACKGROUNDCOLORINDEX 4L
- #define PP_HILITEFOREGROUNDCOLOR 5L
- #define PP_HILITEFOREGROUNDCOLORINDEX 6L
- #define PP_HILITEBACKGROUNDCOLOR 7L
- #define PP_HILITEBACKGROUNDCOLORINDEX 8L
- #define PP_DISABLEDFOREGROUNDCOLOR 9L
- #define PP_DISABLEDFOREGROUNDCOLORINDEX 10L
- #define PP_DISABLEDBACKGROUNDCOLOR 11L
- #define PP_DISABLEDBACKGROUNDCOLORINDEX 12L
- #define PP_BORDERCOLOR 13L
- #define PP_BORDERCOLORINDEX 14L
- #define PP_FONTNAMESIZE 15L
- #define PP_FONTHANDLE 16L
-
- /*
- * Flags for WinQueryPresParams()
- */
- #define QPF_NOINHERIT 0x0001 /* Don't inherit */
- #define QPF_ID1COLORINDEX 0x0002 /* Convert id1 color index into RGB */
- #define QPF_ID2COLORINDEX 0x0004 /* Convert id2 color index into RGB */
- #define QPF_PURERGBCOLOR 0x0008 /* Return pure RGB colors */
- #define QPF_VALIDFLAGS 0x000F /* Valid WinQueryPresParams() flags. */
-
- /*** System color functions */
-
- LONG APIENTRY WinQuerySysColor(HWND hwndDesktop, COLOR clr, LONG lReserved);
- BOOL APIENTRY WinSetSysColors(HWND hwndDesktop, ULONG flOptions,
- ULONG flFormat, COLOR clrFirst, ULONG cclr,
- PCOLOR pclr);
- #define SYSCLR_BUTTONLIGHT (-41L)
- #define SYSCLR_BUTTONMIDDLE (-40L)
- #define SYSCLR_BUTTONDARK (-39L)
- #define SYSCLR_BUTTONDEFAULT (-38L)
- #define SYSCLR_TITLEBOTTOM (-37L)
- #define SYSCLR_SHADOW (-36L)
- #define SYSCLR_ICONTEXT (-35L)
- #define SYSCLR_DIALOGBACKGROUND (-34L)
- #define SYSCLR_HILITEFOREGROUND (-33L)
- #define SYSCLR_HILITEBACKGROUND (-32L)
- #define SYSCLR_INACTIVETITLETEXTBGND (-31L)
- #define SYSCLR_ACTIVETITLETEXTBGND (-30L)
- #define SYSCLR_INACTIVETITLETEXT (-29L)
- #define SYSCLR_ACTIVETITLETEXT (-28L)
- #define SYSCLR_OUTPUTTEXT (-27L)
- #define SYSCLR_WINDOWSTATICTEXT (-26L)
- #define SYSCLR_SCROLLBAR (-25L)
- #define SYSCLR_BACKGROUND (-24L)
- #define SYSCLR_ACTIVETITLE (-23L)
- #define SYSCLR_INACTIVETITLE (-22L)
- #define SYSCLR_MENU (-21L)
- #define SYSCLR_WINDOW (-20L)
- #define SYSCLR_WINDOWFRAME (-19L)
- #define SYSCLR_MENUTEXT (-18L)
- #define SYSCLR_WINDOWTEXT (-17L)
- #define SYSCLR_TITLETEXT (-16L)
- #define SYSCLR_ACTIVEBORDER (-15L)
- #define SYSCLR_INACTIVEBORDER (-14L)
- #define SYSCLR_APPWORKSPACE (-13L)
- #define SYSCLR_HELPBACKGROUND (-12L)
- #define SYSCLR_HELPTEXT (-11L)
- #define SYSCLR_HELPHILITE (-10L)
-
- #define SYSCLR_CSYSCOLORS 32L
-
- #endif /* INCL_WINSYS */
-
-
- #if (defined(INCL_WINTIMER) && !defined(INCL_WINTIMER_INCLUDED))
- #define INCL_WINTIMER_INCLUDED
- /**** Timer manager */
-
- #ifndef INCL_SAADEFS
- USHORT APIENTRY WinStartTimer(HAB hab, HWND hwnd, USHORT idTimer,
- USHORT dtTimeout);
- BOOL APIENTRY WinStopTimer(HAB hab, HWND hwnd, USHORT idTimer);
- ULONG APIENTRY WinGetCurrentTime(HAB hab);
-
- #define TID_CURSOR 0xffff /* Reserved cursor timer ID */
- #define TID_SCROLL 0xfffe /* Reserved scrolling timer ID */
- #define TID_FLASHWINDOW 0xfffd /* Reserved for window flashing timer ID */
- #define TID_USERMAX 0x7fff /* Maximum user timer ID */
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINTIMER */
-
-
- #if (defined(INCL_WINACCELERATORS) && !defined(INCL_WINACCELERATORS_INCLUDED))
- #define INCL_WINACCELERATORS_INCLUDED
- /**** Accelerator functions */
-
- /* ACCEL fs bits
- *
- * NOTE: the first six AF_ code bits have the same value
- * as their KC_ counterparts
- */
- #ifndef INCL_SAADEFS
- #define AF_CHAR 0x0001
- #define AF_VIRTUALKEY 0x0002
- #define AF_SCANCODE 0x0004
- #define AF_SHIFT 0x0008
- #define AF_CONTROL 0x0010
- #define AF_ALT 0x0020
- #define AF_LONEKEY 0x0040
- #define AF_SYSCOMMAND 0x0100
- #define AF_HELP 0x0200
- #endif /* !INCL_SAADEFS */
-
- typedef LHANDLE HACCEL; /* haccel */
-
- typedef struct _ACCEL { /* acc */
- USHORT fs;
- USHORT key;
- USHORT cmd;
- } ACCEL;
- typedef ACCEL FAR *PACCEL;
-
- typedef struct _ACCELTABLE { /* acct */
- USHORT cAccel;
- USHORT codepage;
- ACCEL aaccel[1];
- } ACCELTABLE;
- typedef ACCELTABLE FAR *PACCELTABLE;
-
- HACCEL APIENTRY WinLoadAccelTable(HAB hab, HMODULE hmod, USHORT idAccelTable);
- HACCEL APIENTRY WinCreateAccelTable(HAB hab, PACCELTABLE pacct);
- BOOL APIENTRY WinDestroyAccelTable(HACCEL haccel);
- USHORT APIENTRY WinCopyAccelTable(HACCEL haccel, PACCELTABLE pacct,
- USHORT cbCopyMax);
- BOOL APIENTRY WinTranslateAccel(HAB hab, HWND hwnd, HACCEL haccel,
- PQMSG pqmsg);
- BOOL APIENTRY WinSetAccelTable(HAB hab, HACCEL haccel, HWND hwndFrame);
- HACCEL APIENTRY WinQueryAccelTable(HAB hab, HWND hwndFrame);
-
- #endif /* INCL_WINACCELERATORS */
-
- /**** Extended Attribute Flags (Association Table) */
-
- #define EAF_DEFAULTOWNER 0x0001
- #define EAF_UNCHANGEABLE 0x0002
- #define EAF_REUSEICON 0x0004
-
- /*** WinTrackRect() information */
-
- #if (defined(INCL_WINTRACKRECT) && !defined(INCL_WINTRACKRECT_INCLUDED))
- #define INCL_WINTRACKRECT_INCLUDED
-
- /* WinTrackRect() tracking information structure */
-
- typedef struct _TRACKINFO { /* ti */
- SHORT cxBorder;
- SHORT cyBorder;
- SHORT cxGrid;
- SHORT cyGrid;
- SHORT cxKeyboard;
- SHORT cyKeyboard;
- RECTL rclTrack;
- RECTL rclBoundary;
- POINTL ptlMinTrackSize;
- POINTL ptlMaxTrackSize;
- USHORT fs;
- } TRACKINFO;
- typedef TRACKINFO FAR *PTRACKINFO;
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinTrackRect(HWND hwnd, HPS hps, PTRACKINFO pti);
- BOOL APIENTRY WinShowTrackRect(HWND hwnd, BOOL fShow);
-
- /* WinTrackRect() flags */
-
- #define TF_LEFT 0x0001
- #define TF_TOP 0x0002
- #define TF_RIGHT 0x0004
- #define TF_BOTTOM 0x0008
- /* TF_MOVE = TF_LEFT | TF_TOP | TF_RIGHT | TF_BOTTOM */
- #define TF_MOVE 0x000F
-
- #define TF_SETPOINTERPOS 0x0010
- #define TF_GRID 0x0020
- #define TF_STANDARD 0x0040
- #define TF_ALLINBOUNDARY 0x0080
- #define TF_VALIDATETRACKRECT 0x0100
- #define TF_PARTINBOUNDARY 0x0200
-
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINTRACKRECT */
-
-
- /**** Clipboard Manager */
-
- #if (defined(INCL_WINCLIPBOARD) && !defined(INCL_WINCLIPBOARD_INCLUDED))
- #define INCL_WINCLIPBOARD_INCLUDED
-
- /* Clipboard messages */
-
- #ifndef INCL_SAADEFS
- #define WM_RENDERFMT 0x0060
- #define WM_RENDERALLFMTS 0x0061
- #define WM_DESTROYCLIPBOARD 0x0062
- #define WM_PAINTCLIPBOARD 0x0063
- #define WM_SIZECLIPBOARD 0x0064
- #define WM_HSCROLLCLIPBOARD 0x0065
- #define WM_VSCROLLCLIPBOARD 0x0066
- #define WM_DRAWCLIPBOARD 0x0067
-
- /* Standard Clipboard formats */
-
- #define CF_TEXT 1
- #define CF_BITMAP 2
- #define CF_DSPTEXT 3
- #define CF_DSPBITMAP 4
- #define CF_METAFILE 5
- #define CF_DSPMETAFILE 6
-
- BOOL APIENTRY WinSetClipbrdOwner(HAB hab, HWND hwnd);
- BOOL APIENTRY WinSetClipbrdData(HAB hab, ULONG ulData, USHORT fmt,
- USHORT fsFmtInfo);
- ULONG APIENTRY WinQueryClipbrdData(HAB hab, USHORT fmt);
- BOOL APIENTRY WinQueryClipbrdFmtInfo(HAB hab, USHORT fmt,
- PUSHORT pfsFmtInfo);
- BOOL APIENTRY WinSetClipbrdViewer(HAB hab, HWND hwndNewClipViewer);
-
- /* WinSetClipbrdData() flags */
-
- #define CFI_OWNERFREE 0x0001
- #define CFI_OWNERDISPLAY 0x0002
- #define CFI_SELECTOR 0x0100
- #define CFI_HANDLE 0x0200
-
- #endif /* !INCL_SAADEFS */
-
- USHORT APIENTRY WinEnumClipbrdFmts(HAB hab, USHORT fmt);
- BOOL APIENTRY WinEmptyClipbrd(HAB hab);
- BOOL APIENTRY WinOpenClipbrd(HAB hab);
- BOOL APIENTRY WinCloseClipbrd(HAB hab);
- HWND APIENTRY WinQueryClipbrdOwner(HAB hab, BOOL fLock);
- HWND APIENTRY WinQueryClipbrdViewer(HAB hab, BOOL fLock);
-
- #endif /* INCL_WINCLIPBOARD */
-
-
- #if (defined(INCL_WINCURSORS) || !defined(INCL_NOCOMMON))
- /**** Cursor manager common subsection */
-
- BOOL APIENTRY WinDestroyCursor(HWND hwnd);
- BOOL APIENTRY WinShowCursor(HWND hwnd, BOOL fShow);
- BOOL APIENTRY WinCreateCursor(HWND hwnd, SHORT x, SHORT y, SHORT cx,
- SHORT cy, USHORT fs, PRECTL prclClip);
-
- /* WinCreateCursor() flags */
-
- #define CURSOR_SOLID 0x0000
- #define CURSOR_HALFTONE 0x0001
- #define CURSOR_FRAME 0x0002
- #define CURSOR_FLASH 0x0004
- #define CURSOR_SETPOS 0x8000
-
-
- #endif /* Cursor manager common subsection */
-
- #if (defined(INCL_WINCURSORS) && !defined(INCL_WINCURSORS_INCLUDED))
- #define INCL_WINCURSORS_INCLUDED
-
- typedef struct _CURSORINFO { /* csri */
- HWND hwnd;
- SHORT x;
- SHORT y;
- SHORT cx;
- SHORT cy;
- USHORT fs;
- RECTL rclClip;
- } CURSORINFO;
- typedef CURSORINFO FAR *PCURSORINFO;
-
- BOOL APIENTRY WinQueryCursorInfo(HWND hwndDesktop, PCURSORINFO pcsri);
-
- #endif /* INCL_WINCURSORS */
-
- typedef LHANDLE HPOINTER; /* hptr */
-
- #if (defined(INCL_WINPOINTERS) && !defined(INCL_WINPOINTERS_INCLUDED))
- #define INCL_WINPOINTERS_INCLUDED
- /**** Pointer manager */
-
- BOOL APIENTRY WinSetPointer(HWND hwndDesktop, HPOINTER hptrNew);
- BOOL APIENTRY WinShowPointer(HWND hwndDesktop, BOOL fShow);
- HPOINTER APIENTRY WinQuerySysPointer(HWND hwndDesktop, SHORT iptr, BOOL fLoad);
-
-
- /* System pointers (NOTE: these are 1-based) */
-
- #ifdef LATER
-
- #define SPTR_ARROW 1
- #define SPTR_TEXT 2
- #define SPTR_WAIT 3
- #define SPTR_MOVE 4
- #define SPTR_SIZENWSE 5
- #define SPTR_SIZENESW 6
- #define SPTR_SIZEWE 7
- #define SPTR_SIZENS 8
- #define SPTR_APPICON 9
-
- #define SPTR_ICONINFORMATION 10
- #define SPTR_ICONQUESTION 11
- #define SPTR_ICONERROR 12
- #define SPTR_ICONWARNING 13
-
- #define SPTR_CPTR 13 /* Count of pointers loaded by PMWIN */
-
- #define SPTR_ILLEGAL 14
- #define SPTR_FILE 15
- #define SPTR_FOLDER 16
- #define SPTR_MULTFILE 17
- #define SPTR_PROGRAM 18
-
- #else
-
- #define SPTR_ARROW 1
- #define SPTR_TEXT 2
- #define SPTR_WAIT 3
- #define SPTR_SIZE 4
- #define SPTR_MOVE 5
- #define SPTR_SIZENWSE 6
- #define SPTR_SIZENESW 7
- #define SPTR_SIZEWE 8
- #define SPTR_SIZENS 9
- #define SPTR_APPICON 10
- #define SPTR_ICONINFORMATION 11
- #define SPTR_ICONQUESTION 12
- #define SPTR_ICONERROR 13
- #define SPTR_ICONWARNING 14
- #define SPTR_CPTR 14 /* count loaded by pmwin */
-
- #define SPTR_ILLEGAL 18
- #define SPTR_FILE 19
- #define SPTR_FOLDER 20
- #define SPTR_MULTFILE 21
- #define SPTR_PROGRAM 22
-
- /* backward compatibility */
- #define SPTR_HANDICON SPTR_ICONERROR
- #define SPTR_QUESICON SPTR_ICONQUESTION
- #define SPTR_BANGICON SPTR_ICONWARNING
- #define SPTR_NOTEICON SPTR_ICONINFORMATION
-
- #endif /* LATER */
-
- HPOINTER APIENTRY WinLoadPointer(HWND hwndDesktop, HMODULE hmod,
- USHORT idPtr);
- BOOL APIENTRY WinDestroyPointer(HPOINTER hptr);
- HPOINTER APIENTRY WinCreatePointer(HWND hwndDesktop, HBITMAP hbmPointer,
- BOOL fPointer, SHORT xHotspot,
- SHORT yHotspot);
-
- HPOINTER APIENTRY WinQueryPointer(HWND hwndDesktop);
- BOOL APIENTRY WinSetPointerPos(HWND hwndDesktop, SHORT x, SHORT y);
- BOOL APIENTRY WinQueryPointerPos(HWND hwndDesktop, PPOINTL pptl);
-
- typedef struct _POINTERINFO { /* ptri */
- BOOL fPointer;
- SHORT xHotspot;
- SHORT yHotspot;
- HBITMAP hbmPointer;
- HBITMAP hbmColor;
- } POINTERINFO;
- typedef POINTERINFO FAR *PPOINTERINFO;
-
- HPOINTER APIENTRY WinCreatePointerIndirect(HWND hwndDesktop,
- PPOINTERINFO pptri);
- BOOL APIENTRY WinQueryPointerInfo(HPOINTER hptr,
- PPOINTERINFO pptri);
- BOOL APIENTRY WinDrawPointer(HPS hps, SHORT x, SHORT y, HPOINTER hptr,
- USHORT fs);
-
-
-
- /* WinDrawPointer() constants */
-
- #define DP_NORMAL 0x0000
- #define DP_HALFTONED 0x0001
- #define DP_INVERTED 0x0002
-
-
- HBITMAP APIENTRY WinGetSysBitmap(HWND hwndDesktop, USHORT ibm);
-
- /* System bitmaps (NOTE: these are 1-based) */
-
- #define SBMP_OLD_SYSMENU 1
- #define SBMP_OLD_SBUPARROW 2
- #define SBMP_OLD_SBDNARROW 3
- #define SBMP_OLD_SBRGARROW 4
- #define SBMP_OLD_SBLFARROW 5
- #define SBMP_MENUCHECK 6
- #define SBMP_CHECKBOXES 7
- #define SBMP_BTNCORNERS 8
- #define SBMP_OLD_MINBUTTON 9
- #define SBMP_OLD_MAXBUTTON 10
- #define SBMP_OLD_RESTOREBUTTON 11
- #define SBMP_OLD_CHILDSYSMENU 12
- #define SBMP_DRIVE 15
- #define SBMP_FILE 16
- #define SBMP_FOLDER 17
- #define SBMP_TREEPLUS 18
- #define SBMP_TREEMINUS 19
- #define SBMP_PROGRAM 22
- #define SBMP_MENUATTACHED 23
- #define SBMP_SIZEBOX 24
-
- #define SBMP_SYSMENU 25
- #define SBMP_MINBUTTON 26
- #define SBMP_MAXBUTTON 27
- #define SBMP_RESTOREBUTTON 28
- #define SBMP_CHILDSYSMENU 29
- #define SBMP_SYSMENUDEP 30
- #define SBMP_MINBUTTONDEP 31
- #define SBMP_MAXBUTTONDEP 32
- #define SBMP_RESTOREBUTTONDEP 33
- #define SBMP_CHILDSYSMENUDEP 34
- #define SBMP_SBUPARROW 35
- #define SBMP_SBDNARROW 36
- #define SBMP_SBLFARROW 37
- #define SBMP_SBRGARROW 38
- #define SBMP_SBUPARROWDEP 39
- #define SBMP_SBDNARROWDEP 40
- #define SBMP_SBLFARROWDEP 41
- #define SBMP_SBRGARROWDEP 42
- #define SBMP_SBUPARROWDIS 43
- #define SBMP_SBDNARROWDIS 44
- #define SBMP_SBLFARROWDIS 45
- #define SBMP_SBRGARROWDIS 46
- #define SBMP_COMBODOWN 47
-
- #endif /* INCL_WINPOINTERS */
-
-
- /**** Hook manager */
-
- #if (defined(INCL_WINHOOKS) && !defined(INCL_WINHOOKS_INCLUDED))
- #define INCL_WINHOOKS_INCLUDED
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinSetHook(HAB hab, HMQ hmq, SHORT iHook, PFN pfnHook,
- HMODULE hmod);
- BOOL APIENTRY WinReleaseHook(HAB hab, HMQ hmq, SHORT iHook, PFN pfnHook,
- HMODULE hmod);
- BOOL APIENTRY WinCallMsgFilter(HAB hab, PQMSG pqmsg, USHORT msgf);
-
-
- /* Hook codes */
-
- #define HK_SENDMSG 0
- /* VOID EXPENTRY SendMsgHook(HAB hab, ** installer's hab **
- PSMHSTRUCT psmh, ** p send msg struct **
- BOOL fInterTask); ** between threads */
- #define HK_INPUT 1
- /* BOOL EXPENTRY InputHook(HAB hab, ** installer's hab **
- PQMSG pQmsg, ** p qmsg **
- USHORT fs); ** remove/noremove */
- #define HK_MSGFILTER 2
- /* BOOL EXPENTRY MsgFilterHook(HAB hab, ** installer's hab **
- PQMSG pQmsg, ** p qmsg **
- USHORT msgf); ** filter flag */
- #define HK_JOURNALRECORD 3
- /* VOID EXPENTRY JournalRecordHook(HAB hab, ** installer's hab **
- PQMSG pQmsg); ** p qmsg */
- #define HK_JOURNALPLAYBACK 4
- /* ULONG EXPENTRY JournalPlaybackHook(HAB hab, **installer's hab **
- BOOL fSkip, ** skip messages **
- PQMSG pQmsg); ** p qmsg */
- #define HK_HELP 5
- /* BOOL EXPENTRY HelpHook(HAB hab, ** installer's hab **
- USHORT usMode, ** mode **
- USHORT idTopic, ** main topic **
- USHORT idSubTopic, ** sub topic **
- PRECTL prcPosition); ** associated position */
-
- #define HK_LOADER 6
- /* BOOL EXPENTRY LoaderHook(HAB hab, ** installer's hab **
- SHORT idContext, ** who called hook **
- PSZ pszLibname, ** lib name string **
- PHLIB hlib, ** p to lib handle **
- PSZ pszProcname, ** procedure name **
- PFNWP wndProc); ** window procedure */
- #define HK_REGISTERUSERMSG 7
- /* BOOL EXPENTRY RegisterUserHook(HAB hab, ** installer's hab **
- ULONG cUshort, ** entries in arRMP **
- PUSHORT arRMP, ** RMP array **
- PBOOL fRegistered); ** msg parms already reg*/
- #define HK_MSGCONTROL 8
- /* BOOL EXPENTRY MsgControlHook(HAB hab, ** installer's hab **
- SHORT idContext, ** who called hook **
- HWND hwnd, ** SEI window handle **
- PSZ pszClassname, ** window class name **
- USHORT usMsgclass, ** interested msg class **
- SHORT idControl, ** SMI_* **
- PBOOL fSuccess); ** mode already set */
- #define HK_PLIST_ENTRY 9
- /* BOOL EXPENTRY ProgramListEntryHook(HAB hab, ** installer's hab **
- PPRFHOOKPARMS pProfileHookParams,** data **
- PBOOL fNoExecute); ** cease hook processing*/
- #define HK_PLIST_EXIT 10
- /* BOOL EXPENTRY ProgramListExitHook(HAB hab, ** installer's hab **
- PPRFHOOKPARMS pProfileHookParams); ** data */
- #define HK_FINDWORD 11
- /* BOOL EXPENTRY FindWordHook(usCodepage, ** code page to use **
- PSZ pszText, ** text to break **
- ULONG cb, ** maximum text size **
- ULONG ich, ** break 'near' here **
- PULONG pichStart, ** where break began **
- PULONG pichEnd, ** where break ended **
- PULONG pichNext); ** where next word begin*/
- #define HK_CODEPAGECHANGED 12
- /* VOID EXPENTRY CodePageChangedHook(HMQ hmq, ** msg q handle **
- USHORT usOldCodepage, ** old code page **
- USHORT usNewCodepage);** new code page */
-
- #define HMQ_CURRENT ((HMQ)1)
-
- /* WH_MSGFILTER context codes */
-
- #define MSGF_DIALOGBOX 1
- #define MSGF_MESSAGEBOX 2
- #define MSGF_TRACK 8
-
- /* HK_HELP Help modes */
-
- #define HLPM_FRAME (-1)
- #define HLPM_WINDOW (-2)
- #define HLPM_MENU (-3)
-
- /* HK_SENDMSG structure */
-
- typedef struct _SMHSTRUCT { /* smhs */
- MPARAM mp2;
- MPARAM mp1;
- USHORT msg;
- HWND hwnd;
- } SMHSTRUCT;
- typedef SMHSTRUCT FAR *PSMHSTRUCT;
-
- /*HK_LOADER context codes */
-
- #define LHK_DELETEPROC 1
- #define LHK_DELETELIB 2
- #define LHK_LOADPROC 3
- #define LHK_LOADLIB 4
-
- /*HK_MSGCONTROL context codes */
-
- #define MCHK_MSGINTEREST 1
- #define MCHK_CLASSMSGINTEREST 2
- #define MCHK_SYNCHRONISATION 3
- #define MCHK_MSGMODE 4
-
- /*HK_REGISTERUSERMSG conext codes */
-
- #define RUMHK_DATATYPE 1
- #define RUMHK_MSG 2
-
- #endif /* INCL_SAADEFS */
-
- #endif /* INCL_WINHOOKS */
-
- /*
- * Include Shell API
- */
- #ifndef INCL_SAADEFS
- #include <pmshl.h> /* OS/2 Shell definitions */
- #endif /* !INCL_SAADEFS */
-
- #if (defined(INCL_WINCOUNTRY) && !defined(INCL_WINCOUNTRY_INCLUDED))
- #define INCL_WINCOUNTRY_INCLUDED
-
- USHORT APIENTRY WinQueryCp(HMQ hmq);
-
- #ifndef INCL_SAADEFS
- BOOL APIENTRY WinSetCp(HMQ hmq, USHORT idCodePage);
- USHORT APIENTRY WinQueryCpList(HAB hab, USHORT ccpMax, PUSHORT pacp);
- BOOL APIENTRY WinCpTranslateString(HAB hab, USHORT cpSrc, PSZ pszSrc,
- USHORT cpDst, USHORT cchDestMax,
- PSZ pszDest);
- UCHAR APIENTRY WinCpTranslateChar(HAB hab, USHORT cpSrc, UCHAR chSrc,
- USHORT cpDst);
-
- USHORT APIENTRY WinUpper(HAB hab, USHORT idcp, USHORT idcc, PSZ psz);
- USHORT APIENTRY WinUpperChar(HAB hab, USHORT idcp, USHORT idcc, USHORT c);
- PSZ APIENTRY WinNextChar(HAB hab, USHORT idcp, USHORT idcc, PSZ psz);
- PSZ APIENTRY WinPrevChar(HAB hab, USHORT idcp, USHORT idcc, PSZ pszStart,
- PSZ psz);
- USHORT APIENTRY WinCompareStrings(HAB hab, USHORT idcp, USHORT idcc, PSZ psz1,
- PSZ psz2, USHORT reserved);
-
- #define WCS_ERROR 0
- #define WCS_EQ 1
- #define WCS_LT 2
- #define WCS_GT 3
-
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINCOUNTRY */
-
- /* Heap Manager Interface declarations */
-
- #if (defined(INCL_WINHEAP) && !defined(INCL_WINHEAP_INCLUDED))
- #define INCL_WINHEAP_INCLUDED
-
- #ifndef INCL_SAADEFS
- typedef LHANDLE HHEAP;
-
- /* structure for moveable heap */
-
- typedef struct _MOVBLOCKHDR { /* mbhdr */
- NPBYTE *ppmem;
- USHORT cb;
- } MOVBLOCKHDR;
- typedef MOVBLOCKHDR *PMOVBLOCKHDR;
-
- /* macro for creating a back pointer */
-
- #define SETMEMBACKPTR(npb) (((PMOVBLOCKHDR) npb)-1)->ppmem = &npb
-
- HHEAP APIENTRY WinCreateHeap(USHORT selHeapBase, USHORT cbHeap,
- USHORT cbGrow, USHORT chMinDed,
- USHORT cbMaxDed, USHORT fOptions);
- HHEAP APIENTRY WinDestroyHeap(HHEAP hHeap);
- USHORT APIENTRY WinAvailMem(HHEAP hHeap, BOOL fCompact, USHORT cbMinFree);
- NPBYTE APIENTRY WinAllocMem(HHEAP hHeap, USHORT cb);
- NPBYTE APIENTRY WinReallocMem(HHEAP hHeap, NPBYTE npMem,
- USHORT cbOld, USHORT cbNew);
- NPBYTE APIENTRY WinFreeMem(HHEAP hHeap, NPBYTE npMem, USHORT cbMem);
- PVOID APIENTRY WinLockHeap(HHEAP hHeap);
-
- #define HM_MOVEABLE 0x0001 /* WinCreateHeap() fsOptions parameter */
- #define HM_VALIDSIZE 0x0002
-
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINHEAP */
-
-
- /*** Atom Manager Interface declarations */
-
- #if (defined(INCL_WINATOM) && !defined(INCL_WINATOM_INCLUDED))
- #define INCL_WINATOM_INCLUDED
-
- #ifndef INCL_SAADEFS
- typedef LHANDLE HATOMTBL;
- typedef USHORT ATOM;
-
- HATOMTBL APIENTRY WinQuerySystemAtomTable(VOID);
- HATOMTBL APIENTRY WinCreateAtomTable(USHORT cbInitial, USHORT cBuckets);
- HATOMTBL APIENTRY WinDestroyAtomTable(HATOMTBL hAtomTbl);
- ATOM APIENTRY WinAddAtom(HATOMTBL hAtomTbl, PSZ pszAtomName);
- ATOM APIENTRY WinFindAtom(HATOMTBL hAtomTbl, PSZ pszAtomName);
- ATOM APIENTRY WinDeleteAtom(HATOMTBL hAtomTbl, ATOM atom);
- USHORT APIENTRY WinQueryAtomUsage(HATOMTBL hAtomTbl, ATOM atom);
- USHORT APIENTRY WinQueryAtomLength(HATOMTBL hAtomTbl, ATOM atom);
- USHORT APIENTRY WinQueryAtomName(HATOMTBL hAtomTbl, ATOM atom,
- PSZ pszBuffer, USHORT cchBufferMax);
-
- #define MAKEINTATOM(a) ((PCH)MAKEULONG(a, 0xffff))
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINATOM */
-
-
- /*** Catch/Throw Interface declarations */
-
- #if (defined(INCL_WINCATCHTHROW) && !defined(INCL_WINCATCHTHROW_INCLUDED))
- #define INCL_WINCATCHTHROW_INCLUDED
-
- #ifndef INCL_SAADEFS
- typedef struct _CATCHBUF { /* ctchbf */
- ULONG reserved[ 4 ];
- } CATCHBUF;
- typedef CATCHBUF FAR *PCATCHBUF;
-
- SHORT APIENTRY WinCatch(PCATCHBUF pctchbf);
- VOID APIENTRY WinThrow(PCATCHBUF pctchbf, SHORT nThrowBack);
- #endif /* !INCL_SAADEFS */
-
- #endif /* INCL_WINCATCHTHROW */
-
-
- #if (defined(INCL_WINERRORS) && !defined(INCL_WINERRORS_INCLUDED))
- #define INCL_WINERRORS_INCLUDED
-
- #include <pmerr.h>
-
- /* Error codes for debugging support */
- /* 0x1001 - 0x1021, 0x1034, 0x1036 - 0x1050 are reserved */
-
- #define WINDBG_HWND_NOT_DESTROYED 0x1022
- #define WINDBG_HPTR_NOT_DESTROYED 0x1023
- #define WINDBG_HACCEL_NOT_DESTROYED 0x1024
- #define WINDBG_HENUM_NOT_DESTROYED 0x1025
- #define WINDBG_VISRGN_SEM_BUSY 0x1026
- #define WINDBG_USER_SEM_BUSY 0x1027
- #define WINDBG_DC_CACHE_BUSY 0x1028
- #define WINDBG_HOOK_STILL_INSTALLED 0x1029
- #define WINDBG_WINDOW_STILL_LOCKED 0x102a
- #define WINDBG_UPDATEPS_ASSERTION_FAIL 0x102b
- #define WINDBG_SENDMSG_WITHIN_USER_SEM 0x102c
- #define WINDBG_USER_SEM_NOT_ENTERED 0x102d
- #define WINDBG_PROC_NOT_EXPORTED 0x102e
- #define WINDBG_BAD_SENDMSG_HWND 0x102f
- #define WINDBG_ABNORMAL_EXIT 0x1030
- #define WINDBG_INTERNAL_REVISION 0x1031
- #define WINDBG_INITSYSTEM_FAILED 0x1032
- #define WINDBG_HATOMTBL_NOT_DESTROYED 0x1033
- #define WINDBG_WINDOW_UNLOCK_WAIT 0x1035
-
- /* Get/Set Error Information Interface declarations */
-
- typedef struct _ERRINFO { /* erri */
- USHORT cbFixedErrInfo;
- ERRORID idError;
- USHORT cDetailLevel;
- USHORT offaoffszMsg;
- USHORT offBinaryData;
- } ERRINFO;
- typedef ERRINFO FAR *PERRINFO;
-
- ERRORID APIENTRY WinGetLastError(HAB hab);
- PERRINFO APIENTRY WinGetErrorInfo(HAB hab);
- BOOL APIENTRY WinFreeErrorInfo(PERRINFO perrinfo);
-
- #endif /* INCL_WINERRORS */
-
- #ifndef INCL_SAADEFS
- #if (defined( INCL_WINDDE) && !defined( INCL_WINDDE_INCLUDED))
- #define INCL_WINDDE_INCLUDED
-
- /* Dynamic Data Exchange (DDE) Structure Declaration */
-
- typedef struct _DDEINIT { /* ddei */
- USHORT cb;
- PSZ pszAppName;
- PSZ pszTopic;
- } DDEINIT;
- typedef DDEINIT FAR *PDDEINIT;
-
- typedef struct _DDESTRUCT { /* dde */
- ULONG cbData;
- USHORT fsStatus;
- USHORT usFormat;
- USHORT offszItemName;
- USHORT offabData;
- } DDESTRUCT;
- typedef DDESTRUCT FAR *PDDESTRUCT;
-
- /* DDE constants for wStatus field */
- #define DDE_FACK 0x0001
- #define DDE_FBUSY 0x0002
- #define DDE_FNODATA 0x0004
- #define DDE_FACKREQ 0x0008
- #define DDE_FRESPONSE 0x0010
- #define DDE_NOTPROCESSED 0x0020
- #define DDE_FRESERVED 0x00C0
- #define DDE_FAPPSTATUS 0xFF00
-
- /* DDE public formats */
-
- #define DDEFMT_TEXT 0x0001
-
- /* Dynamic Data Exchange (DDE) Routines */
-
- BOOL APIENTRY WinDdeInitiate(HWND hwndClient, PSZ pszAppName,
- PSZ pszTopicName);
- MRESULT APIENTRY WinDdeRespond(HWND hwndClient, HWND hwndServer,
- PSZ pszAppName, PSZ pszTopicName);
- BOOL APIENTRY WinDdePostMsg(HWND hwndTo, HWND hwndFrom, USHORT wm,
- PDDESTRUCT pddes, BOOL fRetry);
-
- /* Dynamic Data Exchange (DDE) Messages */
-
- #define WM_DDE_FIRST 0x00A0
- #define WM_DDE_INITIATE 0x00A0
- #define WM_DDE_REQUEST 0x00A1
- #define WM_DDE_ACK 0x00A2
- #define WM_DDE_DATA 0x00A3
- #define WM_DDE_ADVISE 0x00A4
- #define WM_DDE_UNADVISE 0x00A5
- #define WM_DDE_POKE 0x00A6
- #define WM_DDE_EXECUTE 0x00A7
- #define WM_DDE_TERMINATE 0x00A8
- #define WM_DDE_INITIATEACK 0x00A9
- #define WM_DDE_LAST 0x00AF
-
- /* DDE helper macros */
-
- #define DDES_PSZITEMNAME(pddes) \
- (((PSZ)pddes) + ((PDDESTRUCT)pddes)->offszItemName)
-
- #define DDES_PABDATA(pdde) \
- (((PBYTE)pdde) + ((PDDESTRUCT)pdde)->offabData)
-
- #define SELTOPDDES(sel) ((PDDESTRUCT)MAKEP(sel, 0))
- #define PDDESTOSEL(pdde) (SELECTOROF(pdde))
- #define PDDEITOSEL(pddei) (SELECTOROF(pddei))
-
- #endif /* INCL_WINDDE */
- #endif /* !INCL_SAADEFS */
-
- #if (defined(INCL_WINWINDOWMGR) && !defined(INCL_WINWINDOWMGR_INCLUDED))
- #define INCL_WINWINDOWMGR_INCLUDED
- #define WM_QUERYCONVERTPOS 0x00b0
-
- /* Return values for WM_QUERYCONVERTPOS */
- #define QCP_CONVERT 0x0001
- #define QCP_NOCONVERT 0x0000
-
- #endif /* INCL_WINWINDOWMGR */
-
- #if (defined(INCL_WINHELP) && !defined(PMHELP_INCLUDED))
- #include <pmhelp.h>
- #endif /* INCL_WINHELP */
-
- /*Load/Delete Library/Procedure */
-
- typedef HMODULE HLIB;
- typedef PHMODULE PHLIB;
-
- #if (defined(INCL_WINLOAD) && !defined(INCL_WINLOAD_INCLUDED))
- #define INCL_WINLOAD_INCLUDED
- BOOL APIENTRY WinDeleteProcedure(HAB hab, PFNWP wndproc);
- BOOL APIENTRY WinDeleteLibrary(HAB hab, HLIB libhandle);
- PFNWP APIENTRY WinLoadProcedure(HAB hab, HLIB libhandle, PSZ procname);
- HLIB APIENTRY WinLoadLibrary(HAB hab, PSZ libname);
- #endif /* INCL_WINLOAD */
-
-
- #ifdef INCL_REMAPDLL
- #define STR_DLLNAME "keyremap"
- #endif /*INCL_REMAPDLL*/
-
- #ifdef INCL_NLS
-
- #define WM_DBCSFIRST 0x00b0
- #define WM_DBCSLAST 0x00cf
- #define WC_APPSTAT ((PSZ)0xffff0010L)
- #define WC_KBDSTAT ((PSZ)0xffff0011L)
- #define WC_PECIC ((PSZ)0xffff0012L)
- #define WC_DBE_KKPOPUP ((PSZ)0xffff0013L)
-
- #endif /* INCL_NLS */
-