3452 lines
113 KiB
C
3452 lines
113 KiB
C
|
/****************************************************************************/
|
||
|
/* */
|
||
|
/* WINDOWS.H - */
|
||
|
/* */
|
||
|
/* Include file for Windows 3.0 applications */
|
||
|
/* */
|
||
|
/****************************************************************************/
|
||
|
|
||
|
/* If defined, the following flags inhibit definition
|
||
|
* of the indicated items.
|
||
|
*
|
||
|
* NOGDICAPMASKS - CC_*, LC_*, PC_*, CP_*, TC_*, RC_
|
||
|
* NOVIRTUALKEYCODES - VK_*
|
||
|
* NOWINMESSAGES - WM_*, EM_*, LB_*, CB_*
|
||
|
* NOWINSTYLES - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*
|
||
|
* NOSYSMETRICS - SM_*
|
||
|
* NOMENUS - MF_*
|
||
|
* NOICONS - IDI_*
|
||
|
* NOKEYSTATES - MK_*
|
||
|
* NOSYSCOMMANDS - SC_*
|
||
|
* NORASTEROPS - Binary and Tertiary raster ops
|
||
|
* NOSHOWWINDOW - SW_*
|
||
|
* OEMRESOURCE - OEM Resource values
|
||
|
* NOATOM - Atom Manager routines
|
||
|
* NOCLIPBOARD - Clipboard routines
|
||
|
* NOCOLOR - Screen colors
|
||
|
* NOCTLMGR - Control and Dialog routines
|
||
|
* NODRAWTEXT - DrawText() and DT_*
|
||
|
* NOGDI - All GDI defines and routines
|
||
|
* NOKERNEL - All KERNEL defines and routines
|
||
|
* NOUSER - All USER defines and routines
|
||
|
* NOMB - MB_* and MessageBox()
|
||
|
* NOMEMMGR - GMEM_*, LMEM_*, GHND, LHND, associated routines
|
||
|
* NOMETAFILE - typedef METAFILEPICT
|
||
|
* NOMINMAX - Macros min(a,b) and max(a,b)
|
||
|
* NOMSG - typedef MSG and associated routines
|
||
|
* NOOPENFILE - OpenFile(), OemToAnsi, AnsiToOem, and OF_*
|
||
|
* NOSCROLL - SB_* and scrolling routines
|
||
|
* NOSOUND - Sound driver routines
|
||
|
* NOTEXTMETRIC - typedef TEXTMETRIC and associated routines
|
||
|
* NOWH - SetWindowsHook and WH_*
|
||
|
* NOWINOFFSETS - GWL_*, GCL_*, associated routines
|
||
|
* NOCOMM - COMM driver routines
|
||
|
* NOKANJI - Kanji support stuff.
|
||
|
* NOHELP - Help engine interface.
|
||
|
* NOPROFILER - Profiler interface.
|
||
|
* NODEFERWINDOWPOS - DeferWindowPos routines
|
||
|
*/
|
||
|
|
||
|
#ifdef RC_INVOKED
|
||
|
|
||
|
/* Turn off a bunch of stuff to ensure that RC files compile OK. */
|
||
|
#define NOATOM
|
||
|
#define NOGDI
|
||
|
#define NOGDICAPMASKS
|
||
|
#define NOMETAFILE
|
||
|
#define NOMINMAX
|
||
|
#define NOMSG
|
||
|
#define NOOPENFILE
|
||
|
#define NORASTEROPS
|
||
|
#define NOSCROLL
|
||
|
#define NOSOUND
|
||
|
#define NOSYSMETRICS
|
||
|
#define NOTEXTMETRIC
|
||
|
#define NOWH
|
||
|
#define NOCOMM
|
||
|
#define NOKANJI
|
||
|
|
||
|
#endif /* RC_INVOKED */
|
||
|
|
||
|
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
/* General Purpose Defines */
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
|
||
|
#define NULL 0
|
||
|
#define FALSE 0
|
||
|
#define TRUE 1
|
||
|
|
||
|
#define FAR far
|
||
|
#define NEAR near
|
||
|
#define LONG long
|
||
|
#define VOID void
|
||
|
#define PASCAL pascal
|
||
|
|
||
|
#ifndef NOMINMAX
|
||
|
|
||
|
#ifndef max
|
||
|
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||
|
#endif
|
||
|
|
||
|
#ifndef min
|
||
|
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
||
|
#endif
|
||
|
|
||
|
#endif /* NOMINMAX */
|
||
|
|
||
|
#define MAKELONG(a, b) ((LONG)(((WORD)(a)) | ((DWORD)((WORD)(b))) << 16))
|
||
|
#define LOWORD(l) ((WORD)(l))
|
||
|
#define HIWORD(l) ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
|
||
|
#define LOBYTE(w) ((BYTE)(w))
|
||
|
#define HIBYTE(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))
|
||
|
|
||
|
typedef int BOOL;
|
||
|
typedef unsigned char BYTE;
|
||
|
typedef unsigned int WORD;
|
||
|
typedef unsigned long DWORD;
|
||
|
typedef char near *PSTR;
|
||
|
typedef char near *NPSTR;
|
||
|
typedef char far *LPSTR;
|
||
|
typedef BYTE near *PBYTE;
|
||
|
typedef BYTE far *LPBYTE;
|
||
|
typedef int near *PINT;
|
||
|
typedef int far *LPINT;
|
||
|
typedef WORD near *PWORD;
|
||
|
typedef WORD far *LPWORD;
|
||
|
typedef long near *PLONG;
|
||
|
typedef long far *LPLONG;
|
||
|
typedef DWORD near *PDWORD;
|
||
|
typedef DWORD far *LPDWORD;
|
||
|
typedef void far *LPVOID;
|
||
|
|
||
|
#ifndef WIN_INTERNAL
|
||
|
typedef WORD HANDLE;
|
||
|
typedef HANDLE HWND;
|
||
|
#endif
|
||
|
|
||
|
typedef HANDLE *PHANDLE;
|
||
|
typedef HANDLE NEAR *SPHANDLE;
|
||
|
typedef HANDLE FAR *LPHANDLE;
|
||
|
typedef HANDLE GLOBALHANDLE;
|
||
|
typedef HANDLE LOCALHANDLE;
|
||
|
typedef int (FAR PASCAL *FARPROC)();
|
||
|
typedef int (NEAR PASCAL *NEARPROC)();
|
||
|
|
||
|
typedef HANDLE HSTR;
|
||
|
typedef HANDLE HICON;
|
||
|
typedef HANDLE HDC;
|
||
|
typedef HANDLE HMENU;
|
||
|
typedef HANDLE HPEN;
|
||
|
typedef HANDLE HFONT;
|
||
|
typedef HANDLE HBRUSH;
|
||
|
typedef HANDLE HBITMAP;
|
||
|
typedef HANDLE HCURSOR;
|
||
|
typedef HANDLE HRGN;
|
||
|
typedef HANDLE HPALETTE;
|
||
|
|
||
|
typedef DWORD COLORREF;
|
||
|
|
||
|
#ifndef WIN_INTERNAL
|
||
|
typedef struct tagRECT
|
||
|
{
|
||
|
int left;
|
||
|
int top;
|
||
|
int right;
|
||
|
int bottom;
|
||
|
} RECT;
|
||
|
#endif
|
||
|
|
||
|
typedef RECT *PRECT;
|
||
|
typedef RECT NEAR *NPRECT;
|
||
|
typedef RECT FAR *LPRECT;
|
||
|
|
||
|
typedef struct tagPOINT
|
||
|
{
|
||
|
int x;
|
||
|
int y;
|
||
|
} POINT;
|
||
|
typedef POINT *PPOINT;
|
||
|
typedef POINT NEAR *NPPOINT;
|
||
|
typedef POINT FAR *LPPOINT;
|
||
|
|
||
|
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
/* KERNEL Section */
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef NOKERNEL
|
||
|
|
||
|
/* Loader Routines */
|
||
|
WORD FAR PASCAL GetVersion(void);
|
||
|
WORD FAR PASCAL GetNumTasks(void);
|
||
|
HANDLE FAR PASCAL GetCodeHandle(FARPROC);
|
||
|
void FAR PASCAL GetCodeInfo(FARPROC lpProc, LPVOID lpSegInfo);
|
||
|
HANDLE FAR PASCAL GetModuleHandle(LPSTR);
|
||
|
int FAR PASCAL GetModuleUsage(HANDLE);
|
||
|
int FAR PASCAL GetModuleFileName(HANDLE, LPSTR, int);
|
||
|
int FAR PASCAL GetInstanceData(HANDLE, NPSTR, int);
|
||
|
FARPROC FAR PASCAL GetProcAddress(HANDLE, LPSTR);
|
||
|
FARPROC FAR PASCAL MakeProcInstance(FARPROC, HANDLE);
|
||
|
void FAR PASCAL FreeProcInstance(FARPROC);
|
||
|
HANDLE FAR PASCAL LoadLibrary(LPSTR);
|
||
|
HANDLE FAR PASCAL LoadModule(LPSTR, LPVOID);
|
||
|
BOOL FAR PASCAL FreeModule(HANDLE);
|
||
|
void FAR PASCAL FreeLibrary(HANDLE);
|
||
|
DWORD FAR PASCAL GetFreeSpace(WORD);
|
||
|
WORD FAR PASCAL WinExec(LPSTR, WORD);
|
||
|
void FAR PASCAL DebugBreak();
|
||
|
void FAR PASCAL OutputDebugString(LPSTR);
|
||
|
void FAR PASCAL SwitchStackBack();
|
||
|
void FAR PASCAL SwitchStackTo(WORD, WORD, WORD);
|
||
|
WORD FAR PASCAL GetCurrentPDB(void);
|
||
|
|
||
|
#ifndef NOOPENFILE
|
||
|
|
||
|
/* OpenFile() Structure */
|
||
|
typedef struct tagOFSTRUCT
|
||
|
{
|
||
|
BYTE cBytes;
|
||
|
BYTE fFixedDisk;
|
||
|
WORD nErrCode;
|
||
|
BYTE reserved[4];
|
||
|
BYTE szPathName[128];
|
||
|
} OFSTRUCT;
|
||
|
typedef OFSTRUCT *POFSTRUCT;
|
||
|
typedef OFSTRUCT NEAR *NPOFSTRUCT;
|
||
|
typedef OFSTRUCT FAR *LPOFSTRUCT;
|
||
|
|
||
|
/* OpenFile() Flags */
|
||
|
#define OF_READ 0x0000
|
||
|
#define OF_WRITE 0x0001
|
||
|
#define OF_READWRITE 0x0002
|
||
|
#define OF_SHARE_COMPAT 0x0000
|
||
|
#define OF_SHARE_EXCLUSIVE 0x0010
|
||
|
#define OF_SHARE_DENY_WRITE 0x0020
|
||
|
#define OF_SHARE_DENY_READ 0x0030
|
||
|
#define OF_SHARE_DENY_NONE 0x0040
|
||
|
#define OF_PARSE 0x0100
|
||
|
#define OF_DELETE 0x0200
|
||
|
#define OF_VERIFY 0x0400
|
||
|
#define OF_CANCEL 0x0800
|
||
|
#define OF_CREATE 0x1000
|
||
|
#define OF_PROMPT 0x2000
|
||
|
#define OF_EXIST 0x4000
|
||
|
#define OF_REOPEN 0x8000
|
||
|
|
||
|
int FAR PASCAL OpenFile(LPSTR, LPOFSTRUCT, WORD);
|
||
|
|
||
|
/* GetTempFileName() Flags */
|
||
|
#define TF_FORCEDRIVE (BYTE)0x80
|
||
|
|
||
|
BYTE FAR PASCAL GetTempDrive(BYTE);
|
||
|
int FAR PASCAL GetTempFileName(BYTE, LPSTR, WORD, LPSTR);
|
||
|
WORD FAR PASCAL SetHandleCount(WORD);
|
||
|
|
||
|
WORD FAR PASCAL GetDriveType(int);
|
||
|
/* GetDriveType return values */
|
||
|
#define DRIVE_REMOVABLE 2
|
||
|
#define DRIVE_FIXED 3
|
||
|
#define DRIVE_REMOTE 4
|
||
|
|
||
|
#endif /* NOOPENFILE */
|
||
|
|
||
|
#ifndef NOMEMMGR
|
||
|
|
||
|
/* Global Memory Flags */
|
||
|
#define GMEM_FIXED 0x0000
|
||
|
#define GMEM_MOVEABLE 0x0002
|
||
|
#define GMEM_NOCOMPACT 0x0010
|
||
|
#define GMEM_NODISCARD 0x0020
|
||
|
#define GMEM_ZEROINIT 0x0040
|
||
|
#define GMEM_MODIFY 0x0080
|
||
|
#define GMEM_DISCARDABLE 0x0100
|
||
|
#define GMEM_NOT_BANKED 0x1000
|
||
|
#define GMEM_SHARE 0x2000
|
||
|
#define GMEM_DDESHARE 0x2000
|
||
|
#define GMEM_NOTIFY 0x4000
|
||
|
#define GMEM_LOWER GMEM_NOT_BANKED
|
||
|
|
||
|
#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
|
||
|
#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
|
||
|
|
||
|
#define GlobalDiscard(h) GlobalReAlloc(h, 0L, GMEM_MOVEABLE)
|
||
|
|
||
|
HANDLE FAR PASCAL GlobalAlloc(WORD, DWORD);
|
||
|
DWORD FAR PASCAL GlobalCompact(DWORD);
|
||
|
HANDLE FAR PASCAL GlobalFree(HANDLE);
|
||
|
DWORD FAR PASCAL GlobalHandle(WORD);
|
||
|
LPSTR FAR PASCAL GlobalLock(HANDLE);
|
||
|
HANDLE FAR PASCAL GlobalReAlloc(HANDLE, DWORD, WORD);
|
||
|
DWORD FAR PASCAL GlobalSize(HANDLE);
|
||
|
BOOL FAR PASCAL GlobalUnlock(HANDLE);
|
||
|
WORD FAR PASCAL GlobalFlags(HANDLE);
|
||
|
LPSTR FAR PASCAL GlobalWire(HANDLE);
|
||
|
BOOL FAR PASCAL GlobalUnWire(HANDLE);
|
||
|
BOOL FAR PASCAL GlobalUnlock(HANDLE);
|
||
|
HANDLE FAR PASCAL GlobalLRUNewest(HANDLE);
|
||
|
HANDLE FAR PASCAL GlobalLRUOldest(HANDLE);
|
||
|
VOID FAR PASCAL GlobalNotify(FARPROC);
|
||
|
WORD FAR PASCAL GlobalPageLock(HANDLE);
|
||
|
WORD FAR PASCAL GlobalPageUnlock(HANDLE);
|
||
|
VOID FAR PASCAL GlobalFix(HANDLE);
|
||
|
BOOL FAR PASCAL GlobalUnfix(HANDLE);
|
||
|
|
||
|
/* Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE) */
|
||
|
#define GMEM_DISCARDED 0x4000
|
||
|
#define GMEM_LOCKCOUNT 0x00FF
|
||
|
|
||
|
#define LockData(dummy) LockSegment(0xFFFF)
|
||
|
#define UnlockData(dummy) UnlockSegment(0xFFFF)
|
||
|
|
||
|
HANDLE FAR PASCAL LockSegment(WORD);
|
||
|
HANDLE FAR PASCAL UnlockSegment(WORD);
|
||
|
|
||
|
/* Local Memory Flags */
|
||
|
#define LMEM_FIXED 0x0000
|
||
|
#define LMEM_MOVEABLE 0x0002
|
||
|
#define LMEM_NOCOMPACT 0x0010
|
||
|
#define LMEM_NODISCARD 0x0020
|
||
|
#define LMEM_ZEROINIT 0x0040
|
||
|
#define LMEM_MODIFY 0x0080
|
||
|
#define LMEM_DISCARDABLE 0x0F00
|
||
|
|
||
|
#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
|
||
|
#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
|
||
|
|
||
|
#define NONZEROLHND (LMEM_MOVEABLE)
|
||
|
#define NONZEROLPTR (LMEM_FIXED)
|
||
|
|
||
|
#define LNOTIFY_OUTOFMEM 0
|
||
|
#define LNOTIFY_MOVE 1
|
||
|
#define LNOTIFY_DISCARD 2
|
||
|
|
||
|
WORD NEAR * PASCAL pLocalHeap;
|
||
|
|
||
|
#define LocalDiscard(h) LocalReAlloc(h, 0, LMEM_MOVEABLE)
|
||
|
|
||
|
HANDLE FAR PASCAL LocalAlloc(WORD, WORD);
|
||
|
WORD FAR PASCAL LocalCompact(WORD);
|
||
|
HANDLE FAR PASCAL LocalFree(HANDLE);
|
||
|
HANDLE FAR PASCAL LocalHandle(WORD);
|
||
|
BOOL FAR PASCAL LocalInit( WORD, WORD, WORD);
|
||
|
char NEAR * FAR PASCAL LocalLock(HANDLE);
|
||
|
FARPROC FAR PASCAL LocalNotify(FARPROC);
|
||
|
HANDLE FAR PASCAL LocalReAlloc(HANDLE, WORD, WORD);
|
||
|
WORD FAR PASCAL LocalSize(HANDLE);
|
||
|
BOOL FAR PASCAL LocalUnlock(HANDLE);
|
||
|
WORD FAR PASCAL LocalFlags(HANDLE);
|
||
|
WORD FAR PASCAL LocalShrink(HANDLE, WORD);
|
||
|
|
||
|
/* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */
|
||
|
#define LMEM_DISCARDED 0x4000
|
||
|
#define LMEM_LOCKCOUNT 0x00FF
|
||
|
|
||
|
#endif /* NOMEMMGR */
|
||
|
|
||
|
LONG FAR PASCAL SetSwapAreaSize(WORD);
|
||
|
LPSTR FAR PASCAL ValidateFreeSpaces(void);
|
||
|
VOID FAR PASCAL LimitEmsPages(DWORD);
|
||
|
BOOL FAR PASCAL SetErrorMode(WORD);
|
||
|
VOID FAR PASCAL ValidateCodeSegments(void);
|
||
|
|
||
|
LPSTR FAR PASCAL GetDOSEnvironment(void);
|
||
|
|
||
|
WORD FAR PASCAL AllocDStoCSAlias(WORD);
|
||
|
WORD FAR PASCAL AllocSelector(WORD);
|
||
|
WORD FAR PASCAL ChangeSelector(WORD, WORD);
|
||
|
WORD FAR PASCAL FreeSelector(WORD);
|
||
|
|
||
|
#define UnlockResource(h) GlobalUnlock(h)
|
||
|
|
||
|
HANDLE FAR PASCAL FindResource(HANDLE, LPSTR, LPSTR);
|
||
|
HANDLE FAR PASCAL LoadResource(HANDLE, HANDLE);
|
||
|
BOOL FAR PASCAL FreeResource(HANDLE);
|
||
|
LPSTR FAR PASCAL LockResource(HANDLE);
|
||
|
FARPROC FAR PASCAL SetResourceHandler(HANDLE, LPSTR, FARPROC);
|
||
|
HANDLE FAR PASCAL AllocResource(HANDLE, HANDLE, DWORD);
|
||
|
WORD FAR PASCAL SizeofResource(HANDLE, HANDLE);
|
||
|
int FAR PASCAL AccessResource(HANDLE, HANDLE);
|
||
|
|
||
|
#define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))
|
||
|
|
||
|
#ifndef NORESOURCE
|
||
|
|
||
|
|
||
|
/* Predefined Resource Types */
|
||
|
#define RT_CURSOR MAKEINTRESOURCE(1)
|
||
|
#define RT_BITMAP MAKEINTRESOURCE(2)
|
||
|
#define RT_ICON MAKEINTRESOURCE(3)
|
||
|
#define RT_MENU MAKEINTRESOURCE(4)
|
||
|
#define RT_DIALOG MAKEINTRESOURCE(5)
|
||
|
#define RT_STRING MAKEINTRESOURCE(6)
|
||
|
#define RT_FONTDIR MAKEINTRESOURCE(7)
|
||
|
#define RT_FONT MAKEINTRESOURCE(8)
|
||
|
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
|
||
|
#define RT_RCDATA MAKEINTRESOURCE(10)
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* NORESOURCE */
|
||
|
|
||
|
void FAR PASCAL Yield(void);
|
||
|
HANDLE FAR PASCAL GetCurrentTask(void);
|
||
|
|
||
|
#ifndef NOATOM
|
||
|
typedef WORD ATOM;
|
||
|
|
||
|
#define MAKEINTATOM(i) (LPSTR)((DWORD)((WORD)(i)))
|
||
|
|
||
|
BOOL FAR PASCAL InitAtomTable(int);
|
||
|
ATOM FAR PASCAL AddAtom(LPSTR);
|
||
|
ATOM FAR PASCAL DeleteAtom(ATOM);
|
||
|
ATOM FAR PASCAL FindAtom(LPSTR);
|
||
|
WORD FAR PASCAL GetAtomName(ATOM, LPSTR, int);
|
||
|
ATOM FAR PASCAL GlobalAddAtom(LPSTR);
|
||
|
ATOM FAR PASCAL GlobalDeleteAtom(ATOM);
|
||
|
ATOM FAR PASCAL GlobalFindAtom(LPSTR);
|
||
|
WORD FAR PASCAL GlobalGetAtomName(ATOM, LPSTR, int);
|
||
|
HANDLE FAR PASCAL GetAtomHandle(ATOM);
|
||
|
|
||
|
#endif /* NOATOM */
|
||
|
|
||
|
/* User Profile Routines */
|
||
|
WORD FAR PASCAL GetProfileInt(LPSTR, LPSTR, int);
|
||
|
int FAR PASCAL GetProfileString(LPSTR, LPSTR, LPSTR, LPSTR, int);
|
||
|
BOOL FAR PASCAL WriteProfileString(LPSTR, LPSTR, LPSTR);
|
||
|
WORD FAR PASCAL GetPrivateProfileInt(LPSTR, LPSTR, int, LPSTR);
|
||
|
int FAR PASCAL GetPrivateProfileString(LPSTR, LPSTR, LPSTR, LPSTR, int, LPSTR);
|
||
|
BOOL FAR PASCAL WritePrivateProfileString(LPSTR, LPSTR, LPSTR, LPSTR);
|
||
|
|
||
|
WORD FAR PASCAL GetWindowsDirectory(LPSTR,WORD);
|
||
|
WORD FAR PASCAL GetSystemDirectory(LPSTR,WORD);
|
||
|
|
||
|
/* Catch() and Throw() */
|
||
|
typedef int CATCHBUF[9];
|
||
|
typedef int FAR *LPCATCHBUF;
|
||
|
|
||
|
int FAR PASCAL Catch(LPCATCHBUF);
|
||
|
void FAR PASCAL Throw(LPCATCHBUF, int);
|
||
|
|
||
|
void FAR PASCAL FatalExit(int);
|
||
|
|
||
|
void FAR PASCAL SwapRecording(WORD);
|
||
|
|
||
|
/* Character Translation Routines */
|
||
|
int FAR PASCAL AnsiToOem(LPSTR, LPSTR);
|
||
|
BOOL FAR PASCAL OemToAnsi(LPSTR, LPSTR);
|
||
|
void FAR PASCAL AnsiToOemBuff(LPSTR, LPSTR, int);
|
||
|
void FAR PASCAL OemToAnsiBuff(LPSTR, LPSTR, int);
|
||
|
LPSTR FAR PASCAL AnsiUpper(LPSTR);
|
||
|
WORD FAR PASCAL AnsiUpperBuff(LPSTR, WORD);
|
||
|
LPSTR FAR PASCAL AnsiLower(LPSTR);
|
||
|
WORD FAR PASCAL AnsiLowerBuff(LPSTR, WORD);
|
||
|
LPSTR FAR PASCAL AnsiNext(LPSTR);
|
||
|
LPSTR FAR PASCAL AnsiPrev(LPSTR, LPSTR);
|
||
|
|
||
|
/* Keyboard Information Routines */
|
||
|
#ifndef NOKEYBOARDINFO
|
||
|
DWORD FAR PASCAL OemKeyScan(WORD);
|
||
|
WORD FAR PASCAL VkKeyScan(WORD);
|
||
|
int FAR PASCAL GetKeyboardType(int);
|
||
|
WORD FAR PASCAL MapVirtualKey(WORD, WORD);
|
||
|
int FAR PASCAL GetKBCodePage();
|
||
|
int FAR PASCAL GetKeyNameText(LONG, LPSTR, int);
|
||
|
int FAR PASCAL ToAscii(WORD wVirtKey, WORD wScanCode, LPSTR lpKeyState, LPVOID lpChar, WORD wFlags);
|
||
|
#endif
|
||
|
|
||
|
#ifndef NOLANGUAGE
|
||
|
/* Language dependent Routines */
|
||
|
BOOL FAR PASCAL IsCharAlpha(char);
|
||
|
BOOL FAR PASCAL IsCharAlphaNumeric(char);
|
||
|
BOOL FAR PASCAL IsCharUpper(char);
|
||
|
BOOL FAR PASCAL IsCharLower(char);
|
||
|
#endif
|
||
|
|
||
|
LONG FAR PASCAL GetWinFlags(void);
|
||
|
|
||
|
#define WF_PMODE 0x0001
|
||
|
#define WF_CPU286 0x0002
|
||
|
#define WF_CPU386 0x0004
|
||
|
#define WF_CPU486 0x0008
|
||
|
#define WF_STANDARD 0x0010
|
||
|
#define WF_WIN286 0x0010
|
||
|
#define WF_ENHANCED 0x0020
|
||
|
#define WF_WIN386 0x0020
|
||
|
#define WF_CPU086 0x0040
|
||
|
#define WF_CPU186 0x0080
|
||
|
#define WF_LARGEFRAME 0x0100
|
||
|
#define WF_SMALLFRAME 0x0200
|
||
|
#define WF_80x87 0x0400
|
||
|
|
||
|
/* WEP fSystemExit flag values */
|
||
|
#define WEP_SYSTEM_EXIT 1
|
||
|
#define WEP_FREE_DLL 0
|
||
|
|
||
|
|
||
|
#ifdef OEMRESOURCE
|
||
|
|
||
|
/* OEM Resource Ordinal Numbers */
|
||
|
#define OBM_CLOSE 32754
|
||
|
#define OBM_UPARROW 32753
|
||
|
#define OBM_DNARROW 32752
|
||
|
#define OBM_RGARROW 32751
|
||
|
#define OBM_LFARROW 32750
|
||
|
#define OBM_REDUCE 32749
|
||
|
#define OBM_ZOOM 32748
|
||
|
#define OBM_RESTORE 32747
|
||
|
#define OBM_REDUCED 32746
|
||
|
#define OBM_ZOOMD 32745
|
||
|
#define OBM_RESTORED 32744
|
||
|
#define OBM_UPARROWD 32743
|
||
|
#define OBM_DNARROWD 32742
|
||
|
#define OBM_RGARROWD 32741
|
||
|
#define OBM_LFARROWD 32740
|
||
|
#define OBM_MNARROW 32739
|
||
|
#define OBM_COMBO 32738
|
||
|
|
||
|
#define OBM_OLD_CLOSE 32767
|
||
|
#define OBM_SIZE 32766
|
||
|
#define OBM_OLD_UPARROW 32765
|
||
|
#define OBM_OLD_DNARROW 32764
|
||
|
#define OBM_OLD_RGARROW 32763
|
||
|
#define OBM_OLD_LFARROW 32762
|
||
|
#define OBM_BTSIZE 32761
|
||
|
#define OBM_CHECK 32760
|
||
|
#define OBM_CHECKBOXES 32759
|
||
|
#define OBM_BTNCORNERS 32758
|
||
|
#define OBM_OLD_REDUCE 32757
|
||
|
#define OBM_OLD_ZOOM 32756
|
||
|
#define OBM_OLD_RESTORE 32755
|
||
|
|
||
|
#define OCR_NORMAL 32512
|
||
|
#define OCR_IBEAM 32513
|
||
|
#define OCR_WAIT 32514
|
||
|
#define OCR_CROSS 32515
|
||
|
#define OCR_UP 32516
|
||
|
#define OCR_SIZE 32640
|
||
|
#define OCR_ICON 32641
|
||
|
#define OCR_SIZENWSE 32642
|
||
|
#define OCR_SIZENESW 32643
|
||
|
#define OCR_SIZEWE 32644
|
||
|
#define OCR_SIZENS 32645
|
||
|
#define OCR_SIZEALL 32646
|
||
|
#define OCR_ICOCUR 32647
|
||
|
|
||
|
#define OIC_SAMPLE 32512
|
||
|
#define OIC_HAND 32513
|
||
|
#define OIC_QUES 32514
|
||
|
#define OIC_BANG 32515
|
||
|
#define OIC_NOTE 32516
|
||
|
|
||
|
#endif /* OEMRESOURCE */
|
||
|
|
||
|
#endif /* NOKERNEL */
|
||
|
|
||
|
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
/* GDI Section */
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef NOGDI
|
||
|
|
||
|
#ifndef NORASTEROPS
|
||
|
|
||
|
/* Binary raster ops */
|
||
|
#define R2_BLACK 1 /* 0 */
|
||
|
#define R2_NOTMERGEPEN 2 /* DPon */
|
||
|
#define R2_MASKNOTPEN 3 /* DPna */
|
||
|
#define R2_NOTCOPYPEN 4 /* PN */
|
||
|
#define R2_MASKPENNOT 5 /* PDna */
|
||
|
#define R2_NOT 6 /* Dn */
|
||
|
#define R2_XORPEN 7 /* DPx */
|
||
|
#define R2_NOTMASKPEN 8 /* DPan */
|
||
|
#define R2_MASKPEN 9 /* DPa */
|
||
|
#define R2_NOTXORPEN 10 /* DPxn */
|
||
|
#define R2_NOP 11 /* D */
|
||
|
#define R2_MERGENOTPEN 12 /* DPno */
|
||
|
#define R2_COPYPEN 13 /* P */
|
||
|
#define R2_MERGEPENNOT 14 /* PDno */
|
||
|
#define R2_MERGEPEN 15 /* DPo */
|
||
|
#define R2_WHITE 16 /* 1 */
|
||
|
|
||
|
/* Ternary raster operations */
|
||
|
#define SRCCOPY (DWORD)0x00CC0020 /* dest = source */
|
||
|
#define SRCPAINT (DWORD)0x00EE0086 /* dest = source OR dest */
|
||
|
#define SRCAND (DWORD)0x008800C6 /* dest = source AND dest */
|
||
|
#define SRCINVERT (DWORD)0x00660046 /* dest = source XOR dest */
|
||
|
#define SRCERASE (DWORD)0x00440328 /* dest = source AND (NOT dest ) */
|
||
|
#define NOTSRCCOPY (DWORD)0x00330008 /* dest = (NOT source) */
|
||
|
#define NOTSRCERASE (DWORD)0x001100A6 /* dest = (NOT src) AND (NOT dest) */
|
||
|
#define MERGECOPY (DWORD)0x00C000CA /* dest = (source AND pattern) */
|
||
|
#define MERGEPAINT (DWORD)0x00BB0226 /* dest = (NOT source) OR dest */
|
||
|
#define PATCOPY (DWORD)0x00F00021 /* dest = pattern */
|
||
|
#define PATPAINT (DWORD)0x00FB0A09 /* dest = DPSnoo */
|
||
|
#define PATINVERT (DWORD)0x005A0049 /* dest = pattern XOR dest */
|
||
|
#define DSTINVERT (DWORD)0x00550009 /* dest = (NOT dest) */
|
||
|
#define BLACKNESS (DWORD)0x00000042 /* dest = BLACK */
|
||
|
#define WHITENESS (DWORD)0x00FF0062 /* dest = WHITE */
|
||
|
|
||
|
#endif /* NORASTEROPS */
|
||
|
|
||
|
/* StretchBlt() Modes */
|
||
|
#define BLACKONWHITE 1
|
||
|
#define WHITEONBLACK 2
|
||
|
#define COLORONCOLOR 3
|
||
|
|
||
|
/* PolyFill() Modes */
|
||
|
#define ALTERNATE 1
|
||
|
#define WINDING 2
|
||
|
|
||
|
/* Text Alignment Options */
|
||
|
#define TA_NOUPDATECP 0
|
||
|
#define TA_UPDATECP 1
|
||
|
|
||
|
#define TA_LEFT 0
|
||
|
#define TA_RIGHT 2
|
||
|
#define TA_CENTER 6
|
||
|
|
||
|
#define TA_TOP 0
|
||
|
#define TA_BOTTOM 8
|
||
|
#define TA_BASELINE 24
|
||
|
|
||
|
#define ETO_GRAYED 1
|
||
|
#define ETO_OPAQUE 2
|
||
|
#define ETO_CLIPPED 4
|
||
|
|
||
|
#define ASPECT_FILTERING 0x0001
|
||
|
|
||
|
#ifndef NOMETAFILE
|
||
|
|
||
|
/* Metafile Functions */
|
||
|
#define META_SETBKCOLOR 0x0201
|
||
|
#define META_SETBKMODE 0x0102
|
||
|
#define META_SETMAPMODE 0x0103
|
||
|
#define META_SETROP2 0x0104
|
||
|
#define META_SETRELABS 0x0105
|
||
|
#define META_SETPOLYFILLMODE 0x0106
|
||
|
#define META_SETSTRETCHBLTMODE 0x0107
|
||
|
#define META_SETTEXTCHAREXTRA 0x0108
|
||
|
#define META_SETTEXTCOLOR 0x0209
|
||
|
#define META_SETTEXTJUSTIFICATION 0x020A
|
||
|
#define META_SETWINDOWORG 0x020B
|
||
|
#define META_SETWINDOWEXT 0x020C
|
||
|
#define META_SETVIEWPORTORG 0x020D
|
||
|
#define META_SETVIEWPORTEXT 0x020E
|
||
|
#define META_OFFSETWINDOWORG 0x020F
|
||
|
#define META_SCALEWINDOWEXT 0x0400
|
||
|
#define META_OFFSETVIEWPORTORG 0x0211
|
||
|
#define META_SCALEVIEWPORTEXT 0x0412
|
||
|
#define META_LINETO 0x0213
|
||
|
#define META_MOVETO 0x0214
|
||
|
#define META_EXCLUDECLIPRECT 0x0415
|
||
|
#define META_INTERSECTCLIPRECT 0x0416
|
||
|
#define META_ARC 0x0817
|
||
|
#define META_ELLIPSE 0x0418
|
||
|
#define META_FLOODFILL 0x0419
|
||
|
#define META_PIE 0x081A
|
||
|
#define META_RECTANGLE 0x041B
|
||
|
#define META_ROUNDRECT 0x061C
|
||
|
#define META_PATBLT 0x061D
|
||
|
#define META_SAVEDC 0x001E
|
||
|
#define META_SETPIXEL 0x041F
|
||
|
#define META_OFFSETCLIPRGN 0x0220
|
||
|
#define META_TEXTOUT 0x0521
|
||
|
#define META_BITBLT 0x0922
|
||
|
#define META_STRETCHBLT 0x0B23
|
||
|
#define META_POLYGON 0x0324
|
||
|
#define META_POLYLINE 0x0325
|
||
|
#define META_ESCAPE 0x0626
|
||
|
#define META_RESTOREDC 0x0127
|
||
|
#define META_FILLREGION 0x0228
|
||
|
#define META_FRAMEREGION 0x0429
|
||
|
#define META_INVERTREGION 0x012A
|
||
|
#define META_PAINTREGION 0x012B
|
||
|
#define META_SELECTCLIPREGION 0x012C
|
||
|
#define META_SELECTOBJECT 0x012D
|
||
|
#define META_SETTEXTALIGN 0x012E
|
||
|
#define META_DRAWTEXT 0x062F
|
||
|
|
||
|
#define META_CHORD 0x0830
|
||
|
#define META_SETMAPPERFLAGS 0x0231
|
||
|
#define META_EXTTEXTOUT 0x0a32
|
||
|
#define META_SETDIBTODEV 0x0d33
|
||
|
#define META_SELECTPALETTE 0x0234
|
||
|
#define META_REALIZEPALETTE 0x0035
|
||
|
#define META_ANIMATEPALETTE 0x0436
|
||
|
#define META_SETPALENTRIES 0x0037
|
||
|
#define META_POLYPOLYGON 0x0538
|
||
|
#define META_RESIZEPALETTE 0x0139
|
||
|
|
||
|
#define META_DIBBITBLT 0x0940
|
||
|
#define META_DIBSTRETCHBLT 0x0b41
|
||
|
#define META_DIBCREATEPATTERNBRUSH 0x0142
|
||
|
#define META_STRETCHDIB 0x0f43
|
||
|
|
||
|
#define META_DELETEOBJECT 0x01f0
|
||
|
|
||
|
#define META_CREATEPALETTE 0x00f7
|
||
|
#define META_CREATEBRUSH 0x00F8
|
||
|
#define META_CREATEPATTERNBRUSH 0x01F9
|
||
|
#define META_CREATEPENINDIRECT 0x02FA
|
||
|
#define META_CREATEFONTINDIRECT 0x02FB
|
||
|
#define META_CREATEBRUSHINDIRECT 0x02FC
|
||
|
#define META_CREATEBITMAPINDIRECT 0x02FD
|
||
|
#define META_CREATEBITMAP 0x06FE
|
||
|
#define META_CREATEREGION 0x06FF
|
||
|
|
||
|
#endif /* NOMETAFILE */
|
||
|
|
||
|
/* GDI Escapes */
|
||
|
#define NEWFRAME 1
|
||
|
#define ABORTDOC 2
|
||
|
#define NEXTBAND 3
|
||
|
#define SETCOLORTABLE 4
|
||
|
#define GETCOLORTABLE 5
|
||
|
#define FLUSHOUTPUT 6
|
||
|
#define DRAFTMODE 7
|
||
|
#define QUERYESCSUPPORT 8
|
||
|
#define SETABORTPROC 9
|
||
|
#define STARTDOC 10
|
||
|
#define ENDDOC 11
|
||
|
#define GETPHYSPAGESIZE 12
|
||
|
#define GETPRINTINGOFFSET 13
|
||
|
#define GETSCALINGFACTOR 14
|
||
|
#define MFCOMMENT 15
|
||
|
#define GETPENWIDTH 16
|
||
|
#define SETCOPYCOUNT 17
|
||
|
#define SELECTPAPERSOURCE 18
|
||
|
#define DEVICEDATA 19
|
||
|
#define PASSTHROUGH 19
|
||
|
#define GETTECHNOLGY 20
|
||
|
#define GETTECHNOLOGY 20
|
||
|
#define SETENDCAP 21
|
||
|
#define SETLINEJOIN 22
|
||
|
#define SETMITERLIMIT 23
|
||
|
#define BANDINFO 24
|
||
|
#define DRAWPATTERNRECT 25
|
||
|
#define GETVECTORPENSIZE 26
|
||
|
#define GETVECTORBRUSHSIZE 27
|
||
|
#define ENABLEDUPLEX 28
|
||
|
#define GETSETPAPERBINS 29
|
||
|
#define GETSETPRINTORIENT 30
|
||
|
#define ENUMPAPERBINS 31
|
||
|
#define SETDIBSCALING 32
|
||
|
#define EPSPRINTING 33
|
||
|
#define ENUMPAPERMETRICS 34
|
||
|
#define GETSETPAPERMETRICS 35
|
||
|
#define POSTSCRIPT_DATA 37
|
||
|
#define POSTSCRIPT_IGNORE 38
|
||
|
#define GETEXTENDEDTEXTMETRICS 256
|
||
|
#define GETEXTENTTABLE 257
|
||
|
#define GETPAIRKERNTABLE 258
|
||
|
#define GETTRACKKERNTABLE 259
|
||
|
#define EXTTEXTOUT 512
|
||
|
#define ENABLERELATIVEWIDTHS 768
|
||
|
#define ENABLEPAIRKERNING 769
|
||
|
#define SETKERNTRACK 770
|
||
|
#define SETALLJUSTVALUES 771
|
||
|
#define SETCHARSET 772
|
||
|
|
||
|
#define STRETCHBLT 2048
|
||
|
#define BEGIN_PATH 4096
|
||
|
#define CLIP_TO_PATH 4097
|
||
|
#define END_PATH 4098
|
||
|
#define EXT_DEVICE_CAPS 4099
|
||
|
#define RESTORE_CTM 4100
|
||
|
#define SAVE_CTM 4101
|
||
|
#define SET_ARC_DIRECTION 4102
|
||
|
#define SET_BACKGROUND_COLOR 4103
|
||
|
#define SET_POLY_MODE 4104
|
||
|
#define SET_SCREEN_ANGLE 4105
|
||
|
#define SET_SPREAD 4106
|
||
|
#define TRANSFORM_CTM 4107
|
||
|
#define SET_CLIP_BOX 4108
|
||
|
#define SET_BOUNDS 4109
|
||
|
#define SET_MIRROR_MODE 4110
|
||
|
|
||
|
/* Spooler Error Codes */
|
||
|
#define SP_NOTREPORTED 0x4000
|
||
|
#define SP_ERROR (-1)
|
||
|
#define SP_APPABORT (-2)
|
||
|
#define SP_USERABORT (-3)
|
||
|
#define SP_OUTOFDISK (-4)
|
||
|
#define SP_OUTOFMEMORY (-5)
|
||
|
|
||
|
#define PR_JOBSTATUS 0x0000
|
||
|
|
||
|
/* Object Definitions for EnumObjects() */
|
||
|
#define OBJ_PEN 1
|
||
|
#define OBJ_BRUSH 2
|
||
|
|
||
|
/* Bitmap Header Definition */
|
||
|
typedef struct tagBITMAP
|
||
|
{
|
||
|
int bmType;
|
||
|
int bmWidth;
|
||
|
int bmHeight;
|
||
|
int bmWidthBytes;
|
||
|
BYTE bmPlanes;
|
||
|
BYTE bmBitsPixel;
|
||
|
LPSTR bmBits;
|
||
|
} BITMAP;
|
||
|
typedef BITMAP *PBITMAP;
|
||
|
typedef BITMAP NEAR *NPBITMAP;
|
||
|
typedef BITMAP FAR *LPBITMAP;
|
||
|
|
||
|
typedef struct tagRGBTRIPLE {
|
||
|
BYTE rgbtBlue;
|
||
|
BYTE rgbtGreen;
|
||
|
BYTE rgbtRed;
|
||
|
} RGBTRIPLE;
|
||
|
|
||
|
typedef struct tagRGBQUAD {
|
||
|
BYTE rgbBlue;
|
||
|
BYTE rgbGreen;
|
||
|
BYTE rgbRed;
|
||
|
BYTE rgbReserved;
|
||
|
} RGBQUAD;
|
||
|
|
||
|
/* structures for defining DIBs */
|
||
|
typedef struct tagBITMAPCOREHEADER {
|
||
|
DWORD bcSize; /* used to get to color table */
|
||
|
WORD bcWidth;
|
||
|
WORD bcHeight;
|
||
|
WORD bcPlanes;
|
||
|
WORD bcBitCount;
|
||
|
} BITMAPCOREHEADER;
|
||
|
typedef BITMAPCOREHEADER FAR *LPBITMAPCOREHEADER;
|
||
|
typedef BITMAPCOREHEADER *PBITMAPCOREHEADER;
|
||
|
|
||
|
|
||
|
typedef struct tagBITMAPINFOHEADER{
|
||
|
DWORD biSize;
|
||
|
DWORD biWidth;
|
||
|
DWORD biHeight;
|
||
|
WORD biPlanes;
|
||
|
WORD biBitCount;
|
||
|
|
||
|
DWORD biCompression;
|
||
|
DWORD biSizeImage;
|
||
|
DWORD biXPelsPerMeter;
|
||
|
DWORD biYPelsPerMeter;
|
||
|
DWORD biClrUsed;
|
||
|
DWORD biClrImportant;
|
||
|
} BITMAPINFOHEADER;
|
||
|
|
||
|
typedef BITMAPINFOHEADER FAR *LPBITMAPINFOHEADER;
|
||
|
typedef BITMAPINFOHEADER *PBITMAPINFOHEADER;
|
||
|
|
||
|
/* constants for the biCompression field */
|
||
|
#define BI_RGB 0L
|
||
|
#define BI_RLE8 1L
|
||
|
#define BI_RLE4 2L
|
||
|
|
||
|
typedef struct tagBITMAPINFO {
|
||
|
BITMAPINFOHEADER bmiHeader;
|
||
|
RGBQUAD bmiColors[1];
|
||
|
} BITMAPINFO;
|
||
|
typedef BITMAPINFO FAR *LPBITMAPINFO;
|
||
|
typedef BITMAPINFO *PBITMAPINFO;
|
||
|
|
||
|
typedef struct tagBITMAPCOREINFO {
|
||
|
BITMAPCOREHEADER bmciHeader;
|
||
|
RGBTRIPLE bmciColors[1];
|
||
|
} BITMAPCOREINFO;
|
||
|
typedef BITMAPCOREINFO FAR *LPBITMAPCOREINFO;
|
||
|
typedef BITMAPCOREINFO *PBITMAPCOREINFO;
|
||
|
|
||
|
typedef struct tagBITMAPFILEHEADER {
|
||
|
WORD bfType;
|
||
|
DWORD bfSize;
|
||
|
WORD bfReserved1;
|
||
|
WORD bfReserved2;
|
||
|
DWORD bfOffBits;
|
||
|
} BITMAPFILEHEADER;
|
||
|
typedef BITMAPFILEHEADER FAR *LPBITMAPFILEHEADER;
|
||
|
typedef BITMAPFILEHEADER *PBITMAPFILEHEADER;
|
||
|
|
||
|
|
||
|
#define MAKEPOINT(l) (*((POINT FAR *)&(l)))
|
||
|
|
||
|
#ifndef NOMETAFILE
|
||
|
|
||
|
/* Clipboard Metafile Picture Structure */
|
||
|
typedef struct tagHANDLETABLE
|
||
|
{
|
||
|
HANDLE objectHandle[1];
|
||
|
} HANDLETABLE;
|
||
|
typedef HANDLETABLE *PHANDLETABLE;
|
||
|
typedef HANDLETABLE FAR *LPHANDLETABLE;
|
||
|
|
||
|
typedef struct tagMETARECORD
|
||
|
{
|
||
|
DWORD rdSize;
|
||
|
WORD rdFunction;
|
||
|
WORD rdParm[1];
|
||
|
} METARECORD;
|
||
|
typedef METARECORD *PMETARECORD;
|
||
|
typedef METARECORD FAR *LPMETARECORD;
|
||
|
|
||
|
typedef struct tagMETAFILEPICT
|
||
|
{
|
||
|
int mm;
|
||
|
int xExt;
|
||
|
int yExt;
|
||
|
HANDLE hMF;
|
||
|
} METAFILEPICT;
|
||
|
typedef METAFILEPICT FAR *LPMETAFILEPICT;
|
||
|
|
||
|
typedef struct tagMETAHEADER
|
||
|
{
|
||
|
WORD mtType;
|
||
|
WORD mtHeaderSize;
|
||
|
WORD mtVersion;
|
||
|
DWORD mtSize;
|
||
|
WORD mtNoObjects;
|
||
|
DWORD mtMaxRecord;
|
||
|
WORD mtNoParameters;
|
||
|
} METAHEADER;
|
||
|
|
||
|
#endif /* NOMETAFILE */
|
||
|
|
||
|
#ifndef NOTEXTMETRIC
|
||
|
|
||
|
typedef struct tagTEXTMETRIC
|
||
|
{
|
||
|
int tmHeight;
|
||
|
int tmAscent;
|
||
|
int tmDescent;
|
||
|
int tmInternalLeading;
|
||
|
int tmExternalLeading;
|
||
|
int tmAveCharWidth;
|
||
|
int tmMaxCharWidth;
|
||
|
int tmWeight;
|
||
|
BYTE tmItalic;
|
||
|
BYTE tmUnderlined;
|
||
|
BYTE tmStruckOut;
|
||
|
BYTE tmFirstChar;
|
||
|
BYTE tmLastChar;
|
||
|
BYTE tmDefaultChar;
|
||
|
BYTE tmBreakChar;
|
||
|
BYTE tmPitchAndFamily;
|
||
|
BYTE tmCharSet;
|
||
|
int tmOverhang;
|
||
|
int tmDigitizedAspectX;
|
||
|
int tmDigitizedAspectY;
|
||
|
} TEXTMETRIC;
|
||
|
typedef TEXTMETRIC *PTEXTMETRIC;
|
||
|
typedef TEXTMETRIC NEAR *NPTEXTMETRIC;
|
||
|
typedef TEXTMETRIC FAR *LPTEXTMETRIC;
|
||
|
|
||
|
#endif /* NOTEXTMETRIC */
|
||
|
|
||
|
/* GDI Logical Objects: */
|
||
|
|
||
|
/* Pel Array */
|
||
|
typedef struct tagPELARRAY
|
||
|
{
|
||
|
int paXCount;
|
||
|
int paYCount;
|
||
|
int paXExt;
|
||
|
int paYExt;
|
||
|
BYTE paRGBs;
|
||
|
} PELARRAY;
|
||
|
typedef PELARRAY *PPELARRAY;
|
||
|
typedef PELARRAY NEAR *NPPELARRAY;
|
||
|
typedef PELARRAY FAR *LPPELARRAY;
|
||
|
|
||
|
/* Logical Brush (or Pattern) */
|
||
|
typedef struct tagLOGBRUSH
|
||
|
{
|
||
|
WORD lbStyle;
|
||
|
DWORD lbColor;
|
||
|
int lbHatch;
|
||
|
} LOGBRUSH;
|
||
|
typedef LOGBRUSH *PLOGBRUSH;
|
||
|
typedef LOGBRUSH NEAR *NPLOGBRUSH;
|
||
|
typedef LOGBRUSH FAR *LPLOGBRUSH;
|
||
|
|
||
|
typedef LOGBRUSH PATTERN;
|
||
|
typedef PATTERN *PPATTERN;
|
||
|
typedef PATTERN NEAR *NPPATTERN;
|
||
|
typedef PATTERN FAR *LPPATTERN;
|
||
|
|
||
|
/* Logical Pen */
|
||
|
typedef struct tagLOGPEN
|
||
|
{
|
||
|
WORD lopnStyle;
|
||
|
POINT lopnWidth;
|
||
|
DWORD lopnColor;
|
||
|
} LOGPEN;
|
||
|
typedef LOGPEN *PLOGPEN;
|
||
|
typedef LOGPEN NEAR *NPLOGPEN;
|
||
|
typedef LOGPEN FAR *LPLOGPEN;
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct tagPALETTEENTRY {
|
||
|
BYTE peRed;
|
||
|
BYTE peGreen;
|
||
|
BYTE peBlue;
|
||
|
BYTE peFlags;
|
||
|
} PALETTEENTRY;
|
||
|
typedef PALETTEENTRY FAR *LPPALETTEENTRY;
|
||
|
|
||
|
/* Logical Palette */
|
||
|
typedef struct tagLOGPALETTE {
|
||
|
WORD palVersion;
|
||
|
WORD palNumEntries;
|
||
|
PALETTEENTRY palPalEntry[1];
|
||
|
} LOGPALETTE;
|
||
|
typedef LOGPALETTE *PLOGPALETTE;
|
||
|
typedef LOGPALETTE NEAR *NPLOGPALETTE;
|
||
|
typedef LOGPALETTE FAR *LPLOGPALETTE;
|
||
|
|
||
|
|
||
|
/* Logical Font */
|
||
|
#define LF_FACESIZE 32
|
||
|
|
||
|
typedef struct tagLOGFONT
|
||
|
{
|
||
|
int lfHeight;
|
||
|
int lfWidth;
|
||
|
int lfEscapement;
|
||
|
int lfOrientation;
|
||
|
int lfWeight;
|
||
|
BYTE lfItalic;
|
||
|
BYTE lfUnderline;
|
||
|
BYTE lfStrikeOut;
|
||
|
BYTE lfCharSet;
|
||
|
BYTE lfOutPrecision;
|
||
|
BYTE lfClipPrecision;
|
||
|
BYTE lfQuality;
|
||
|
BYTE lfPitchAndFamily;
|
||
|
BYTE lfFaceName[LF_FACESIZE];
|
||
|
} LOGFONT;
|
||
|
typedef LOGFONT *PLOGFONT;
|
||
|
typedef LOGFONT NEAR *NPLOGFONT;
|
||
|
typedef LOGFONT FAR *LPLOGFONT;
|
||
|
|
||
|
#define OUT_DEFAULT_PRECIS 0
|
||
|
#define OUT_STRING_PRECIS 1
|
||
|
#define OUT_CHARACTER_PRECIS 2
|
||
|
#define OUT_STROKE_PRECIS 3
|
||
|
|
||
|
#define CLIP_DEFAULT_PRECIS 0
|
||
|
#define CLIP_CHARACTER_PRECIS 1
|
||
|
#define CLIP_STROKE_PRECIS 2
|
||
|
|
||
|
#define DEFAULT_QUALITY 0
|
||
|
#define DRAFT_QUALITY 1
|
||
|
#define PROOF_QUALITY 2
|
||
|
|
||
|
#define DEFAULT_PITCH 0
|
||
|
#define FIXED_PITCH 1
|
||
|
#define VARIABLE_PITCH 2
|
||
|
|
||
|
#define ANSI_CHARSET 0
|
||
|
#define SYMBOL_CHARSET 2
|
||
|
#define SHIFTJIS_CHARSET 128
|
||
|
#define OEM_CHARSET 255
|
||
|
|
||
|
/* Font Families */
|
||
|
#define FF_DONTCARE (0<<4) /* Don't care or don't know. */
|
||
|
#define FF_ROMAN (1<<4) /* Variable stroke width, serifed. */
|
||
|
/* Times Roman, Century Schoolbook, etc. */
|
||
|
#define FF_SWISS (2<<4) /* Variable stroke width, sans-serifed. */
|
||
|
/* Helvetica, Swiss, etc. */
|
||
|
#define FF_MODERN (3<<4) /* Constant stroke width, serifed or sans-serifed. */
|
||
|
/* Pica, Elite, Courier, etc. */
|
||
|
#define FF_SCRIPT (4<<4) /* Cursive, etc. */
|
||
|
#define FF_DECORATIVE (5<<4) /* Old English, etc. */
|
||
|
|
||
|
/* Font Weights */
|
||
|
#define FW_DONTCARE 0
|
||
|
#define FW_THIN 100
|
||
|
#define FW_EXTRALIGHT 200
|
||
|
#define FW_LIGHT 300
|
||
|
#define FW_NORMAL 400
|
||
|
#define FW_MEDIUM 500
|
||
|
#define FW_SEMIBOLD 600
|
||
|
#define FW_BOLD 700
|
||
|
#define FW_EXTRABOLD 800
|
||
|
#define FW_HEAVY 900
|
||
|
|
||
|
#define FW_ULTRALIGHT FW_EXTRALIGHT
|
||
|
#define FW_REGULAR FW_NORMAL
|
||
|
#define FW_DEMIBOLD FW_SEMIBOLD
|
||
|
#define FW_ULTRABOLD FW_EXTRABOLD
|
||
|
#define FW_BLACK FW_HEAVY
|
||
|
|
||
|
/* EnumFonts Masks */
|
||
|
#define RASTER_FONTTYPE 0x0001
|
||
|
#define DEVICE_FONTTYPE 0X0002
|
||
|
|
||
|
#define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
|
||
|
#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
|
||
|
#define PALETTEINDEX(i) ((DWORD)(0x01000000 | (WORD)(i)))
|
||
|
|
||
|
#define GetRValue(rgb) ((BYTE)(rgb))
|
||
|
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
|
||
|
#define GetBValue(rgb) ((BYTE)((rgb)>>16))
|
||
|
|
||
|
/* Background Modes */
|
||
|
#define TRANSPARENT 1
|
||
|
#define OPAQUE 2
|
||
|
|
||
|
/* Mapping Modes */
|
||
|
#define MM_TEXT 1
|
||
|
#define MM_LOMETRIC 2
|
||
|
#define MM_HIMETRIC 3
|
||
|
#define MM_LOENGLISH 4
|
||
|
#define MM_HIENGLISH 5
|
||
|
#define MM_TWIPS 6
|
||
|
#define MM_ISOTROPIC 7
|
||
|
#define MM_ANISOTROPIC 8
|
||
|
|
||
|
/* Coordinate Modes */
|
||
|
#define ABSOLUTE 1
|
||
|
#define RELATIVE 2
|
||
|
|
||
|
/* Stock Logical Objects */
|
||
|
#define WHITE_BRUSH 0
|
||
|
#define LTGRAY_BRUSH 1
|
||
|
#define GRAY_BRUSH 2
|
||
|
#define DKGRAY_BRUSH 3
|
||
|
#define BLACK_BRUSH 4
|
||
|
#define NULL_BRUSH 5
|
||
|
#define HOLLOW_BRUSH NULL_BRUSH
|
||
|
#define WHITE_PEN 6
|
||
|
#define BLACK_PEN 7
|
||
|
#define NULL_PEN 8
|
||
|
#define OEM_FIXED_FONT 10
|
||
|
#define ANSI_FIXED_FONT 11
|
||
|
#define ANSI_VAR_FONT 12
|
||
|
#define SYSTEM_FONT 13
|
||
|
#define DEVICE_DEFAULT_FONT 14
|
||
|
#define DEFAULT_PALETTE 15
|
||
|
#define SYSTEM_FIXED_FONT 16
|
||
|
|
||
|
/* Brush Styles */
|
||
|
#define BS_SOLID 0
|
||
|
#define BS_NULL 1
|
||
|
#define BS_HOLLOW BS_NULL
|
||
|
#define BS_HATCHED 2
|
||
|
#define BS_PATTERN 3
|
||
|
#define BS_INDEXED 4
|
||
|
#define BS_DIBPATTERN 5
|
||
|
|
||
|
/* Hatch Styles */
|
||
|
#define HS_HORIZONTAL 0 /* ----- */
|
||
|
#define HS_VERTICAL 1 /* ||||| */
|
||
|
#define HS_FDIAGONAL 2 /* \\\\\ */
|
||
|
#define HS_BDIAGONAL 3 /* ///// */
|
||
|
#define HS_CROSS 4 /* +++++ */
|
||
|
#define HS_DIAGCROSS 5 /* xxxxx */
|
||
|
|
||
|
/* Pen Styles */
|
||
|
#define PS_SOLID 0
|
||
|
#define PS_DASH 1 /* ------- */
|
||
|
#define PS_DOT 2 /* ....... */
|
||
|
#define PS_DASHDOT 3 /* _._._._ */
|
||
|
#define PS_DASHDOTDOT 4 /* _.._.._ */
|
||
|
#define PS_NULL 5
|
||
|
#define PS_INSIDEFRAME 6
|
||
|
|
||
|
/* Device Parameters for GetDeviceCaps() */
|
||
|
#define DRIVERVERSION 0 /* Device driver version */
|
||
|
#define TECHNOLOGY 2 /* Device classification */
|
||
|
#define HORZSIZE 4 /* Horizontal size in millimeters */
|
||
|
#define VERTSIZE 6 /* Vertical size in millimeters */
|
||
|
#define HORZRES 8 /* Horizontal width in pixels */
|
||
|
#define VERTRES 10 /* Vertical width in pixels */
|
||
|
#define BITSPIXEL 12 /* Number of bits per pixel */
|
||
|
#define PLANES 14 /* Number of planes */
|
||
|
#define NUMBRUSHES 16 /* Number of brushes the device has */
|
||
|
#define NUMPENS 18 /* Number of pens the device has */
|
||
|
#define NUMMARKERS 20 /* Number of markers the device has */
|
||
|
#define NUMFONTS 22 /* Number of fonts the device has */
|
||
|
#define NUMCOLORS 24 /* Number of colors the device supports */
|
||
|
#define PDEVICESIZE 26 /* Size required for device descriptor */
|
||
|
#define CURVECAPS 28 /* Curve capabilities */
|
||
|
#define LINECAPS 30 /* Line capabilities */
|
||
|
#define POLYGONALCAPS 32 /* Polygonal capabilities */
|
||
|
#define TEXTCAPS 34 /* Text capabilities */
|
||
|
#define CLIPCAPS 36 /* Clipping capabilities */
|
||
|
#define RASTERCAPS 38 /* Bitblt capabilities */
|
||
|
#define ASPECTX 40 /* Length of the X leg */
|
||
|
#define ASPECTY 42 /* Length of the Y leg */
|
||
|
#define ASPECTXY 44 /* Length of the hypotenuse */
|
||
|
|
||
|
#define LOGPIXELSX 88 /* Logical pixels/inch in X */
|
||
|
#define LOGPIXELSY 90 /* Logical pixels/inch in Y */
|
||
|
|
||
|
#define SIZEPALETTE 104 /* Number of entries in physical palette */
|
||
|
#define NUMRESERVED 106 /* Number of reserved entries in palette */
|
||
|
#define COLORRES 108 /* Actual color resolution */
|
||
|
|
||
|
#ifndef NOGDICAPMASKS
|
||
|
|
||
|
/* Device Capability Masks: */
|
||
|
|
||
|
/* Device Technologies */
|
||
|
#define DT_PLOTTER 0 /* Vector plotter */
|
||
|
#define DT_RASDISPLAY 1 /* Raster display */
|
||
|
#define DT_RASPRINTER 2 /* Raster printer */
|
||
|
#define DT_RASCAMERA 3 /* Raster camera */
|
||
|
#define DT_CHARSTREAM 4 /* Character-stream, PLP */
|
||
|
#define DT_METAFILE 5 /* Metafile, VDM */
|
||
|
#define DT_DISPFILE 6 /* Display-file */
|
||
|
|
||
|
/* Curve Capabilities */
|
||
|
#define CC_NONE 0 /* Curves not supported */
|
||
|
#define CC_CIRCLES 1 /* Can do circles */
|
||
|
#define CC_PIE 2 /* Can do pie wedges */
|
||
|
#define CC_CHORD 4 /* Can do chord arcs */
|
||
|
#define CC_ELLIPSES 8 /* Can do ellipese */
|
||
|
#define CC_WIDE 16 /* Can do wide lines */
|
||
|
#define CC_STYLED 32 /* Can do styled lines */
|
||
|
#define CC_WIDESTYLED 64 /* Can do wide styled lines */
|
||
|
#define CC_INTERIORS 128 /* Can do interiors */
|
||
|
|
||
|
/* Line Capabilities */
|
||
|
#define LC_NONE 0 /* Lines not supported */
|
||
|
#define LC_POLYLINE 2 /* Can do polylines */
|
||
|
#define LC_MARKER 4 /* Can do markers */
|
||
|
#define LC_POLYMARKER 8 /* Can do polymarkers */
|
||
|
#define LC_WIDE 16 /* Can do wide lines */
|
||
|
#define LC_STYLED 32 /* Can do styled lines */
|
||
|
#define LC_WIDESTYLED 64 /* Can do wide styled lines */
|
||
|
#define LC_INTERIORS 128 /* Can do interiors */
|
||
|
|
||
|
/* Polygonal Capabilities */
|
||
|
#define PC_NONE 0 /* Polygonals not supported */
|
||
|
#define PC_POLYGON 1 /* Can do polygons */
|
||
|
#define PC_RECTANGLE 2 /* Can do rectangles */
|
||
|
#define PC_WINDPOLYGON 4 /* Can do winding polygons */
|
||
|
#define PC_TRAPEZOID 4 /* Can do trapezoids */
|
||
|
#define PC_SCANLINE 8 /* Can do scanlines */
|
||
|
#define PC_WIDE 16 /* Can do wide borders */
|
||
|
#define PC_STYLED 32 /* Can do styled borders */
|
||
|
#define PC_WIDESTYLED 64 /* Can do wide styled borders */
|
||
|
#define PC_INTERIORS 128 /* Can do interiors */
|
||
|
|
||
|
/* Polygonal Capabilities */
|
||
|
#define CP_NONE 0 /* No clipping of output */
|
||
|
#define CP_RECTANGLE 1 /* Output clipped to rects */
|
||
|
|
||
|
/* Text Capabilities */
|
||
|
#define TC_OP_CHARACTER 0x0001 /* Can do OutputPrecision CHARACTER */
|
||
|
#define TC_OP_STROKE 0x0002 /* Can do OutputPrecision STROKE */
|
||
|
#define TC_CP_STROKE 0x0004 /* Can do ClipPrecision STROKE */
|
||
|
#define TC_CR_90 0x0008 /* Can do CharRotAbility 90 */
|
||
|
#define TC_CR_ANY 0x0010 /* Can do CharRotAbility ANY */
|
||
|
#define TC_SF_X_YINDEP 0x0020 /* Can do ScaleFreedom X_YINDEPENDENT */
|
||
|
#define TC_SA_DOUBLE 0x0040 /* Can do ScaleAbility DOUBLE */
|
||
|
#define TC_SA_INTEGER 0x0080 /* Can do ScaleAbility INTEGER */
|
||
|
#define TC_SA_CONTIN 0x0100 /* Can do ScaleAbility CONTINUOUS */
|
||
|
#define TC_EA_DOUBLE 0x0200 /* Can do EmboldenAbility DOUBLE */
|
||
|
#define TC_IA_ABLE 0x0400 /* Can do ItalisizeAbility ABLE */
|
||
|
#define TC_UA_ABLE 0x0800 /* Can do UnderlineAbility ABLE */
|
||
|
#define TC_SO_ABLE 0x1000 /* Can do StrikeOutAbility ABLE */
|
||
|
#define TC_RA_ABLE 0x2000 /* Can do RasterFontAble ABLE */
|
||
|
#define TC_VA_ABLE 0x4000 /* Can do VectorFontAble ABLE */
|
||
|
#define TC_RESERVED 0x8000
|
||
|
|
||
|
#endif /* NOGDICAPMASKS */
|
||
|
|
||
|
/* Raster Capabilities */
|
||
|
#define RC_BITBLT 1 /* Can do standard BLT. */
|
||
|
#define RC_BANDING 2 /* Device requires banding support */
|
||
|
#define RC_SCALING 4 /* Device requires scaling support */
|
||
|
#define RC_BITMAP64 8 /* Device can support >64K bitmap */
|
||
|
#define RC_GDI20_OUTPUT 0x0010 /* has 2.0 output calls */
|
||
|
#define RC_DI_BITMAP 0x0080 /* supports DIB to memory */
|
||
|
#define RC_PALETTE 0x0100 /* supports a palette */
|
||
|
#define RC_DIBTODEV 0x0200 /* supports DIBitsToDevice */
|
||
|
#define RC_BIGFONT 0x0400 /* supports >64K fonts */
|
||
|
#define RC_STRETCHBLT 0x0800 /* supports StretchBlt */
|
||
|
#define RC_FLOODFILL 0x1000 /* supports FloodFill */
|
||
|
#define RC_STRETCHDIB 0x2000 /* supports StretchDIBits */
|
||
|
|
||
|
|
||
|
/* palette entry flags */
|
||
|
|
||
|
#define PC_RESERVED 0x01 /* palette index used for animation */
|
||
|
#define PC_EXPLICIT 0x02 /* palette index is explicit to device */
|
||
|
#define PC_NOCOLLAPSE 0x04 /* do not match color to system palette */
|
||
|
|
||
|
/* DIB color table identifiers */
|
||
|
|
||
|
#define DIB_RGB_COLORS 0 /* color table in RGBTriples */
|
||
|
#define DIB_PAL_COLORS 1 /* color table in palette indices */
|
||
|
|
||
|
/* constants for Get/SetSystemPaletteUse() */
|
||
|
|
||
|
#define SYSPAL_STATIC 1
|
||
|
#define SYSPAL_NOSTATIC 2
|
||
|
|
||
|
/* constants for CreateDIBitmap */
|
||
|
#define CBM_INIT 0x04L /* initialize bitmap */
|
||
|
|
||
|
#ifndef NODRAWTEXT
|
||
|
|
||
|
/* DrawText() Format Flags */
|
||
|
#define DT_TOP 0x0000
|
||
|
#define DT_LEFT 0x0000
|
||
|
#define DT_CENTER 0x0001
|
||
|
#define DT_RIGHT 0x0002
|
||
|
#define DT_VCENTER 0x0004
|
||
|
#define DT_BOTTOM 0x0008
|
||
|
#define DT_WORDBREAK 0x0010
|
||
|
#define DT_SINGLELINE 0x0020
|
||
|
#define DT_EXPANDTABS 0x0040
|
||
|
#define DT_TABSTOP 0x0080
|
||
|
#define DT_NOCLIP 0x0100
|
||
|
#define DT_EXTERNALLEADING 0x0200
|
||
|
#define DT_CALCRECT 0x0400
|
||
|
#define DT_NOPREFIX 0x0800
|
||
|
#define DT_INTERNAL 0x1000
|
||
|
|
||
|
int FAR PASCAL DrawText(HDC, LPSTR, int, LPRECT, WORD);
|
||
|
BOOL FAR PASCAL DrawIcon(HDC, int, int, HICON);
|
||
|
|
||
|
#endif /* NODRAWTEXT */
|
||
|
|
||
|
/* ExtFloodFill style flags */
|
||
|
#define FLOODFILLBORDER 0
|
||
|
#define FLOODFILLSURFACE 1
|
||
|
|
||
|
HDC FAR PASCAL GetWindowDC(HWND);
|
||
|
HDC FAR PASCAL GetDC(HWND);
|
||
|
int FAR PASCAL ReleaseDC(HWND, HDC);
|
||
|
HDC FAR PASCAL CreateDC(LPSTR, LPSTR, LPSTR, LPSTR);
|
||
|
HDC FAR PASCAL CreateIC(LPSTR, LPSTR, LPSTR, LPSTR);
|
||
|
HDC FAR PASCAL CreateCompatibleDC(HDC);
|
||
|
BOOL FAR PASCAL DeleteDC(HDC);
|
||
|
int FAR PASCAL SaveDC(HDC);
|
||
|
BOOL FAR PASCAL RestoreDC(HDC, int);
|
||
|
DWORD FAR PASCAL MoveTo(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetCurrentPosition(HDC);
|
||
|
BOOL FAR PASCAL LineTo(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetDCOrg(HDC);
|
||
|
|
||
|
int FAR PASCAL MulDiv(int, int, int);
|
||
|
|
||
|
BOOL FAR PASCAL ExtTextOut(HDC, int, int, WORD, LPRECT, LPSTR, WORD, LPINT);
|
||
|
|
||
|
BOOL FAR PASCAL Polyline(HDC, LPPOINT, int);
|
||
|
BOOL FAR PASCAL Polygon(HDC, LPPOINT, int);
|
||
|
BOOL FAR PASCAL PolyPolygon(HDC, LPPOINT, LPINT, int);
|
||
|
|
||
|
BOOL FAR PASCAL Rectangle(HDC, int, int, int, int);
|
||
|
BOOL FAR PASCAL RoundRect(HDC, int, int, int, int, int, int);
|
||
|
BOOL FAR PASCAL Ellipse(HDC, int, int, int, int);
|
||
|
BOOL FAR PASCAL Arc(HDC, int, int, int, int, int, int, int, int);
|
||
|
BOOL FAR PASCAL Chord(HDC, int, int, int, int, int, int, int, int);
|
||
|
BOOL FAR PASCAL Pie(HDC, int, int, int, int, int, int, int, int);
|
||
|
BOOL FAR PASCAL PatBlt(HDC, int, int, int, int, DWORD);
|
||
|
BOOL FAR PASCAL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
|
||
|
BOOL FAR PASCAL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
|
||
|
BOOL FAR PASCAL TextOut(HDC, int, int, LPSTR, int);
|
||
|
LONG FAR PASCAL TabbedTextOut(HDC, int, int, LPSTR, int, int, LPINT, int);
|
||
|
BOOL FAR PASCAL GetCharWidth(HDC, WORD, WORD, LPINT);
|
||
|
DWORD FAR PASCAL SetPixel( HDC, int, int, DWORD);
|
||
|
DWORD FAR PASCAL GetPixel( HDC, int, int);
|
||
|
BOOL FAR PASCAL FloodFill( HDC, int, int, DWORD);
|
||
|
BOOL FAR PASCAL ExtFloodFill(HDC, int, int, DWORD, WORD);
|
||
|
void FAR PASCAL LineDDA(int, int, int, int, FARPROC, LPSTR);
|
||
|
|
||
|
HANDLE FAR PASCAL GetStockObject(int);
|
||
|
|
||
|
HPEN FAR PASCAL CreatePen(int, int, DWORD);
|
||
|
HPEN FAR PASCAL CreatePenIndirect(LOGPEN FAR *);
|
||
|
|
||
|
HBRUSH FAR PASCAL CreateSolidBrush(DWORD);
|
||
|
HBRUSH FAR PASCAL CreateHatchBrush(int,DWORD);
|
||
|
DWORD FAR PASCAL SetBrushOrg(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetBrushOrg(HDC);
|
||
|
HBRUSH FAR PASCAL CreatePatternBrush(HBITMAP);
|
||
|
HBRUSH FAR PASCAL CreateBrushIndirect(LOGBRUSH FAR *);
|
||
|
|
||
|
HBITMAP FAR PASCAL CreateBitmap(int, int, BYTE, BYTE, LPSTR);
|
||
|
HBITMAP FAR PASCAL CreateBitmapIndirect(BITMAP FAR *);
|
||
|
HBITMAP FAR PASCAL CreateCompatibleBitmap(HDC, int, int);
|
||
|
HBITMAP FAR PASCAL CreateDiscardableBitmap(HDC, int, int);
|
||
|
|
||
|
LONG FAR PASCAL SetBitmapBits(HBITMAP, DWORD, LPSTR);
|
||
|
LONG FAR PASCAL GetBitmapBits(HBITMAP, LONG, LPSTR);
|
||
|
DWORD FAR PASCAL SetBitmapDimension(HBITMAP, int, int);
|
||
|
DWORD FAR PASCAL GetBitmapDimension(HBITMAP);
|
||
|
|
||
|
HFONT FAR PASCAL CreateFont(int, int, int, int, int, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, LPSTR);
|
||
|
HFONT FAR PASCAL CreateFontIndirect(LOGFONT FAR *);
|
||
|
|
||
|
int FAR PASCAL SelectClipRgn(HDC, HRGN);
|
||
|
HRGN FAR PASCAL CreateRectRgn(int, int, int, int);
|
||
|
void FAR PASCAL SetRectRgn(HRGN, int, int, int, int);
|
||
|
HRGN FAR PASCAL CreateRectRgnIndirect(LPRECT);
|
||
|
HRGN FAR PASCAL CreateEllipticRgnIndirect(LPRECT);
|
||
|
HRGN FAR PASCAL CreateEllipticRgn(int, int, int, int);
|
||
|
HRGN FAR PASCAL CreatePolygonRgn(LPPOINT, int, int);
|
||
|
HRGN FAR PASCAL CreatePolyPolygonRgn(LPPOINT, LPINT, int, int);
|
||
|
HRGN FAR PASCAL CreateRoundRectRgn(int, int, int, int, int, int);
|
||
|
|
||
|
int FAR PASCAL GetObject(HANDLE, int, LPSTR);
|
||
|
BOOL FAR PASCAL DeleteObject(HANDLE);
|
||
|
HANDLE FAR PASCAL SelectObject(HDC, HANDLE);
|
||
|
BOOL FAR PASCAL UnrealizeObject(HBRUSH);
|
||
|
|
||
|
DWORD FAR PASCAL SetBkColor(HDC, DWORD);
|
||
|
DWORD FAR PASCAL GetBkColor(HDC);
|
||
|
int FAR PASCAL SetBkMode(HDC, int);
|
||
|
int FAR PASCAL GetBkMode(HDC);
|
||
|
DWORD FAR PASCAL SetTextColor(HDC, DWORD);
|
||
|
DWORD FAR PASCAL GetTextColor(HDC);
|
||
|
WORD FAR PASCAL SetTextAlign(HDC, WORD);
|
||
|
WORD FAR PASCAL GetTextAlign(HDC);
|
||
|
DWORD FAR PASCAL SetMapperFlags(HDC, DWORD);
|
||
|
DWORD FAR PASCAL GetAspectRatioFilter(HDC);
|
||
|
DWORD FAR PASCAL GetNearestColor(HDC, DWORD);
|
||
|
int FAR PASCAL SetROP2(HDC, int);
|
||
|
int FAR PASCAL GetROP2(HDC);
|
||
|
int FAR PASCAL SetStretchBltMode(HDC, int);
|
||
|
int FAR PASCAL GetStretchBltMode(HDC);
|
||
|
int FAR PASCAL SetPolyFillMode(HDC, int);
|
||
|
int FAR PASCAL GetPolyFillMode(HDC);
|
||
|
int FAR PASCAL SetMapMode(HDC, int);
|
||
|
int FAR PASCAL GetMapMode(HDC);
|
||
|
DWORD FAR PASCAL SetWindowOrg(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetWindowOrg(HDC);
|
||
|
DWORD FAR PASCAL SetWindowExt(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetWindowExt(HDC);
|
||
|
DWORD FAR PASCAL SetViewportOrg(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetViewportOrg(HDC);
|
||
|
DWORD FAR PASCAL SetViewportExt(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetViewportExt(HDC);
|
||
|
DWORD FAR PASCAL OffsetViewportOrg(HDC, int, int);
|
||
|
DWORD FAR PASCAL ScaleViewportExt(HDC, int, int, int, int);
|
||
|
DWORD FAR PASCAL OffsetWindowOrg(HDC, int, int);
|
||
|
DWORD FAR PASCAL ScaleWindowExt(HDC, int, int, int, int);
|
||
|
|
||
|
int FAR PASCAL GetClipBox(HDC, LPRECT);
|
||
|
int FAR PASCAL IntersectClipRect(HDC, int, int, int, int);
|
||
|
int FAR PASCAL OffsetClipRgn(HDC, int, int);
|
||
|
int FAR PASCAL ExcludeClipRect(HDC, int, int, int, int);
|
||
|
BOOL FAR PASCAL PtVisible(HDC, int, int);
|
||
|
int FAR PASCAL CombineRgn(HRGN, HRGN, HRGN, int);
|
||
|
BOOL FAR PASCAL EqualRgn(HRGN, HRGN);
|
||
|
int FAR PASCAL OffsetRgn(HRGN, int, int);
|
||
|
int FAR PASCAL GetRgnBox(HRGN, LPRECT);
|
||
|
|
||
|
int FAR PASCAL SetTextJustification(HDC, int, int);
|
||
|
DWORD FAR PASCAL GetTextExtent(HDC, LPSTR, int);
|
||
|
DWORD FAR PASCAL GetTabbedTextExtent(HDC, LPSTR, int, int, LPINT);
|
||
|
int FAR PASCAL SetTextCharacterExtra(HDC, int);
|
||
|
int FAR PASCAL GetTextCharacterExtra(HDC);
|
||
|
|
||
|
HANDLE FAR PASCAL GetMetaFile(LPSTR);
|
||
|
BOOL FAR PASCAL DeleteMetaFile(HANDLE);
|
||
|
HANDLE FAR PASCAL CopyMetaFile(HANDLE, LPSTR);
|
||
|
|
||
|
#ifndef NOMETAFILE
|
||
|
void FAR PASCAL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, WORD);
|
||
|
BOOL FAR PASCAL EnumMetaFile(HDC, LOCALHANDLE, FARPROC, BYTE FAR *);
|
||
|
#endif
|
||
|
|
||
|
BOOL FAR PASCAL PlayMetaFile(HDC, HANDLE);
|
||
|
int FAR PASCAL Escape(HDC, int, int, LPSTR, LPSTR);
|
||
|
int FAR PASCAL EnumFonts(HDC, LPSTR, FARPROC, LPSTR);
|
||
|
int FAR PASCAL EnumObjects(HDC, int, FARPROC, LPSTR);
|
||
|
int FAR PASCAL GetTextFace(HDC, int, LPSTR);
|
||
|
|
||
|
#ifndef NOTEXTMETRIC
|
||
|
BOOL FAR PASCAL GetTextMetrics(HDC, LPTEXTMETRIC );
|
||
|
#endif
|
||
|
|
||
|
int FAR PASCAL GetDeviceCaps(HDC, int);
|
||
|
|
||
|
int FAR PASCAL SetEnvironment(LPSTR, LPSTR, WORD);
|
||
|
int FAR PASCAL GetEnvironment(LPSTR, LPSTR, WORD);
|
||
|
|
||
|
BOOL FAR PASCAL DPtoLP(HDC, LPPOINT, int);
|
||
|
BOOL FAR PASCAL LPtoDP(HDC, LPPOINT, int);
|
||
|
|
||
|
HANDLE FAR PASCAL CreateMetaFile(LPSTR);
|
||
|
HANDLE FAR PASCAL CloseMetaFile(HANDLE);
|
||
|
HANDLE FAR PASCAL GetMetaFileBits(HANDLE);
|
||
|
HANDLE FAR PASCAL SetMetaFileBits(HANDLE);
|
||
|
|
||
|
int FAR PASCAL SetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
|
||
|
int FAR PASCAL GetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
|
||
|
int FAR PASCAL SetDIBitsToDevice(HDC,WORD,WORD,WORD,WORD,
|
||
|
WORD,WORD,WORD,WORD,
|
||
|
LPSTR,LPBITMAPINFO,WORD);
|
||
|
HBITMAP FAR PASCAL CreateDIBitmap(HDC,LPBITMAPINFOHEADER,DWORD,LPSTR,
|
||
|
LPBITMAPINFO,WORD);
|
||
|
HBRUSH FAR PASCAL CreateDIBPatternBrush(HANDLE,WORD);
|
||
|
int FAR PASCAL StretchDIBits(HDC, WORD, WORD, WORD, WORD, WORD,
|
||
|
WORD, WORD, WORD, LPSTR, LPBITMAPINFO, WORD, DWORD);
|
||
|
|
||
|
HPALETTE FAR PASCAL CreatePalette (LPLOGPALETTE);
|
||
|
HPALETTE FAR PASCAL SelectPalette (HDC,HPALETTE, BOOL) ;
|
||
|
WORD FAR PASCAL RealizePalette (HDC) ;
|
||
|
int FAR PASCAL UpdateColors (HDC) ;
|
||
|
void FAR PASCAL AnimatePalette(HPALETTE, WORD, WORD, LPPALETTEENTRY);
|
||
|
WORD FAR PASCAL SetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
|
||
|
WORD FAR PASCAL GetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
|
||
|
WORD FAR PASCAL GetNearestPaletteIndex(HPALETTE, DWORD);
|
||
|
BOOL FAR PASCAL ResizePalette(HPALETTE, WORD);
|
||
|
|
||
|
WORD FAR PASCAL GetSystemPaletteEntries(HDC,WORD,WORD,LPPALETTEENTRY);
|
||
|
WORD FAR PASCAL GetSystemPaletteUse(HDC, WORD);
|
||
|
WORD FAR PASCAL SetSystemPaletteUse(HDC, WORD);
|
||
|
#endif /* NOGDI */
|
||
|
|
||
|
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
/* USER Section */
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef NOUSER
|
||
|
|
||
|
int FAR PASCAL wvsprintf(LPSTR,LPSTR,LPSTR);
|
||
|
int FAR cdecl wsprintf(LPSTR,LPSTR,...);
|
||
|
|
||
|
#ifndef NOSCROLL
|
||
|
|
||
|
/* Scroll Bar Constants */
|
||
|
#define SB_HORZ 0
|
||
|
#define SB_VERT 1
|
||
|
#define SB_CTL 2
|
||
|
#define SB_BOTH 3
|
||
|
|
||
|
/* Scroll Bar Commands */
|
||
|
#define SB_LINEUP 0
|
||
|
#define SB_LINEDOWN 1
|
||
|
#define SB_PAGEUP 2
|
||
|
#define SB_PAGEDOWN 3
|
||
|
#define SB_THUMBPOSITION 4
|
||
|
#define SB_THUMBTRACK 5
|
||
|
#define SB_TOP 6
|
||
|
#define SB_BOTTOM 7
|
||
|
#define SB_ENDSCROLL 8
|
||
|
|
||
|
#endif /* NOSCROLL */
|
||
|
|
||
|
#ifndef NOSHOWWINDOW
|
||
|
|
||
|
/* ShowWindow() Commands */
|
||
|
#define SW_HIDE 0
|
||
|
#define SW_SHOWNORMAL 1
|
||
|
#define SW_NORMAL 1
|
||
|
#define SW_SHOWMINIMIZED 2
|
||
|
#define SW_SHOWMAXIMIZED 3
|
||
|
#define SW_MAXIMIZE 3
|
||
|
#define SW_SHOWNOACTIVATE 4
|
||
|
#define SW_SHOW 5
|
||
|
#define SW_MINIMIZE 6
|
||
|
#define SW_SHOWMINNOACTIVE 7
|
||
|
#define SW_SHOWNA 8
|
||
|
#define SW_RESTORE 9
|
||
|
|
||
|
/* Old ShowWindow() Commands */
|
||
|
#define HIDE_WINDOW 0
|
||
|
#define SHOW_OPENWINDOW 1
|
||
|
#define SHOW_ICONWINDOW 2
|
||
|
#define SHOW_FULLSCREEN 3
|
||
|
#define SHOW_OPENNOACTIVATE 4
|
||
|
|
||
|
/* Identifiers for the WM_SHOWWINDOW message */
|
||
|
#define SW_PARENTCLOSING 1
|
||
|
#define SW_OTHERZOOM 2
|
||
|
#define SW_PARENTOPENING 3
|
||
|
#define SW_OTHERUNZOOM 4
|
||
|
|
||
|
#endif /* NOSHOWWINDOW */
|
||
|
|
||
|
/* Region Flags */
|
||
|
#define ERROR 0
|
||
|
#define NULLREGION 1
|
||
|
#define SIMPLEREGION 2
|
||
|
#define COMPLEXREGION 3
|
||
|
|
||
|
/* CombineRgn() Styles */
|
||
|
#define RGN_AND 1
|
||
|
#define RGN_OR 2
|
||
|
#define RGN_XOR 3
|
||
|
#define RGN_DIFF 4
|
||
|
#define RGN_COPY 5
|
||
|
|
||
|
#ifndef NOVIRTUALKEYCODES
|
||
|
|
||
|
/* Virtual Keys, Standard Set */
|
||
|
#define VK_LBUTTON 0x01
|
||
|
#define VK_RBUTTON 0x02
|
||
|
#define VK_CANCEL 0x03
|
||
|
#define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */
|
||
|
#define VK_BACK 0x08
|
||
|
#define VK_TAB 0x09
|
||
|
#define VK_CLEAR 0x0C
|
||
|
#define VK_RETURN 0x0D
|
||
|
#define VK_SHIFT 0x10
|
||
|
#define VK_CONTROL 0x11
|
||
|
#define VK_MENU 0x12
|
||
|
#define VK_PAUSE 0x13
|
||
|
#define VK_CAPITAL 0x14
|
||
|
#define VK_ESCAPE 0x1B
|
||
|
#define VK_SPACE 0x20
|
||
|
#define VK_PRIOR 0x21
|
||
|
#define VK_NEXT 0x22
|
||
|
#define VK_END 0x23
|
||
|
#define VK_HOME 0x24
|
||
|
#define VK_LEFT 0x25
|
||
|
#define VK_UP 0x26
|
||
|
#define VK_RIGHT 0x27
|
||
|
#define VK_DOWN 0x28
|
||
|
#define VK_SELECT 0x29
|
||
|
#define VK_PRINT 0x2A
|
||
|
#define VK_EXECUTE 0x2B
|
||
|
#define VK_SNAPSHOT 0x2C
|
||
|
/* #define VK_COPY 0x2C not used by keyboards. */
|
||
|
#define VK_INSERT 0x2D
|
||
|
#define VK_DELETE 0x2E
|
||
|
#define VK_HELP 0x2F
|
||
|
|
||
|
/* VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z' */
|
||
|
/* VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0' */
|
||
|
|
||
|
#define VK_NUMPAD0 0x60
|
||
|
#define VK_NUMPAD1 0x61
|
||
|
#define VK_NUMPAD2 0x62
|
||
|
#define VK_NUMPAD3 0x63
|
||
|
#define VK_NUMPAD4 0x64
|
||
|
#define VK_NUMPAD5 0x65
|
||
|
#define VK_NUMPAD6 0x66
|
||
|
#define VK_NUMPAD7 0x67
|
||
|
#define VK_NUMPAD8 0x68
|
||
|
#define VK_NUMPAD9 0x69
|
||
|
#define VK_MULTIPLY 0x6A
|
||
|
#define VK_ADD 0x6B
|
||
|
#define VK_SEPARATOR 0x6C
|
||
|
#define VK_SUBTRACT 0x6D
|
||
|
#define VK_DECIMAL 0x6E
|
||
|
#define VK_DIVIDE 0x6F
|
||
|
#define VK_F1 0x70
|
||
|
#define VK_F2 0x71
|
||
|
#define VK_F3 0x72
|
||
|
#define VK_F4 0x73
|
||
|
#define VK_F5 0x74
|
||
|
#define VK_F6 0x75
|
||
|
#define VK_F7 0x76
|
||
|
#define VK_F8 0x77
|
||
|
#define VK_F9 0x78
|
||
|
#define VK_F10 0x79
|
||
|
#define VK_F11 0x7A
|
||
|
#define VK_F12 0x7B
|
||
|
#define VK_F13 0x7C
|
||
|
#define VK_F14 0x7D
|
||
|
#define VK_F15 0x7E
|
||
|
#define VK_F16 0x7F
|
||
|
|
||
|
#define VK_NUMLOCK 0x90
|
||
|
|
||
|
#endif /* NOVIRTUALKEYCODES */
|
||
|
|
||
|
#ifndef NOWH
|
||
|
|
||
|
/* SetWindowsHook() codes */
|
||
|
#define WH_MSGFILTER (-1)
|
||
|
#define WH_JOURNALRECORD 0
|
||
|
#define WH_JOURNALPLAYBACK 1
|
||
|
#define WH_KEYBOARD 2
|
||
|
#define WH_GETMESSAGE 3
|
||
|
#define WH_CALLWNDPROC 4
|
||
|
#define WH_CBT 5
|
||
|
#define WH_SYSMSGFILTER 6
|
||
|
#define WH_WINDOWMGR 7
|
||
|
|
||
|
/* Hook Codes */
|
||
|
#define HC_LPLPFNNEXT (-2)
|
||
|
#define HC_LPFNNEXT (-1)
|
||
|
#define HC_ACTION 0
|
||
|
#define HC_GETNEXT 1
|
||
|
#define HC_SKIP 2
|
||
|
#define HC_NOREM 3
|
||
|
#define HC_NOREMOVE 3
|
||
|
#define HC_SYSMODALON 4
|
||
|
#define HC_SYSMODALOFF 5
|
||
|
|
||
|
/* CBT Hook Codes */
|
||
|
#define HCBT_MOVESIZE 0
|
||
|
#define HCBT_MINMAX 1
|
||
|
#define HCBT_QS 2
|
||
|
|
||
|
/* WH_MSGFILTER Filter Proc Codes */
|
||
|
#define MSGF_DIALOGBOX 0
|
||
|
#define MSGF_MESSAGEBOX 1
|
||
|
#define MSGF_MENU 2
|
||
|
#define MSGF_MOVE 3
|
||
|
#define MSGF_SIZE 4
|
||
|
#define MSGF_SCROLLBAR 5
|
||
|
#define MSGF_NEXTWINDOW 6
|
||
|
|
||
|
/* Window Manager Hook Codes */
|
||
|
#define WC_INIT 1
|
||
|
#define WC_SWP 2
|
||
|
#define WC_DEFWINDOWPROC 3
|
||
|
#define WC_MINMAX 4
|
||
|
#define WC_MOVE 5
|
||
|
#define WC_SIZE 6
|
||
|
#define WC_DRAWCAPTION 7
|
||
|
|
||
|
/* Message Structure used in Journaling */
|
||
|
typedef struct tagEVENTMSG
|
||
|
{
|
||
|
WORD message;
|
||
|
WORD paramL;
|
||
|
WORD paramH;
|
||
|
DWORD time;
|
||
|
} EVENTMSG;
|
||
|
typedef EVENTMSG *PEVENTMSGMSG;
|
||
|
typedef EVENTMSG NEAR *NPEVENTMSGMSG;
|
||
|
typedef EVENTMSG FAR *LPEVENTMSGMSG;
|
||
|
|
||
|
#endif /* NOWH */
|
||
|
|
||
|
typedef struct tagWNDCLASS
|
||
|
{
|
||
|
WORD style;
|
||
|
LONG (FAR PASCAL *lpfnWndProc)();
|
||
|
int cbClsExtra;
|
||
|
int cbWndExtra;
|
||
|
HANDLE hInstance;
|
||
|
HICON hIcon;
|
||
|
HCURSOR hCursor;
|
||
|
HBRUSH hbrBackground;
|
||
|
LPSTR lpszMenuName;
|
||
|
LPSTR lpszClassName;
|
||
|
} WNDCLASS;
|
||
|
typedef WNDCLASS *PWNDCLASS;
|
||
|
typedef WNDCLASS NEAR *NPWNDCLASS;
|
||
|
typedef WNDCLASS FAR *LPWNDCLASS;
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
|
||
|
/* Message structure */
|
||
|
typedef struct tagMSG
|
||
|
{
|
||
|
HWND hwnd;
|
||
|
WORD message;
|
||
|
WORD wParam;
|
||
|
LONG lParam;
|
||
|
DWORD time;
|
||
|
POINT pt;
|
||
|
} MSG;
|
||
|
typedef MSG *PMSG;
|
||
|
typedef MSG NEAR *NPMSG;
|
||
|
typedef MSG FAR *LPMSG;
|
||
|
|
||
|
#endif /* NOMSG */
|
||
|
|
||
|
#ifndef NOWINOFFSETS
|
||
|
|
||
|
/* Window field offsets for GetWindowLong() and GetWindowWord() */
|
||
|
#define GWL_WNDPROC (-4)
|
||
|
#define GWW_HINSTANCE (-6)
|
||
|
#define GWW_HWNDPARENT (-8)
|
||
|
#define GWW_ID (-12)
|
||
|
#define GWL_STYLE (-16)
|
||
|
#define GWL_EXSTYLE (-20)
|
||
|
|
||
|
/* Class field offsets for GetClassLong() and GetClassWord() */
|
||
|
#define GCL_MENUNAME (-8)
|
||
|
#define GCW_HBRBACKGROUND (-10)
|
||
|
#define GCW_HCURSOR (-12)
|
||
|
#define GCW_HICON (-14)
|
||
|
#define GCW_HMODULE (-16)
|
||
|
#define GCW_CBWNDEXTRA (-18)
|
||
|
#define GCW_CBCLSEXTRA (-20)
|
||
|
#define GCL_WNDPROC (-24)
|
||
|
#define GCW_STYLE (-26)
|
||
|
|
||
|
#endif /* NOWINOFFSETS */
|
||
|
|
||
|
#ifndef NOWINMESSAGES
|
||
|
|
||
|
/* Window Messages */
|
||
|
#define WM_NULL 0x0000
|
||
|
#define WM_CREATE 0x0001
|
||
|
#define WM_DESTROY 0x0002
|
||
|
#define WM_MOVE 0x0003
|
||
|
#define WM_SIZE 0x0005
|
||
|
#define WM_ACTIVATE 0x0006
|
||
|
#define WM_SETFOCUS 0x0007
|
||
|
#define WM_KILLFOCUS 0x0008
|
||
|
#define WM_ENABLE 0x000A
|
||
|
#define WM_SETREDRAW 0x000B
|
||
|
#define WM_SETTEXT 0x000C
|
||
|
#define WM_GETTEXT 0x000D
|
||
|
#define WM_GETTEXTLENGTH 0x000E
|
||
|
#define WM_PAINT 0x000F
|
||
|
#define WM_CLOSE 0x0010
|
||
|
#define WM_QUERYENDSESSION 0x0011
|
||
|
#define WM_QUIT 0x0012
|
||
|
#define WM_QUERYOPEN 0x0013
|
||
|
#define WM_ERASEBKGND 0x0014
|
||
|
#define WM_SYSCOLORCHANGE 0x0015
|
||
|
#define WM_ENDSESSION 0x0016
|
||
|
#define WM_SHOWWINDOW 0x0018
|
||
|
#define WM_CTLCOLOR 0x0019
|
||
|
#define WM_SETTINGCHANGE 0x001A
|
||
|
#define WM_DEVMODECHANGE 0x001B
|
||
|
#define WM_ACTIVATEAPP 0x001C
|
||
|
#define WM_FONTCHANGE 0x001D
|
||
|
#define WM_TIMECHANGE 0x001E
|
||
|
#define WM_CANCELMODE 0x001F
|
||
|
#define WM_SETCURSOR 0x0020
|
||
|
#define WM_MOUSEACTIVATE 0x0021
|
||
|
#define WM_CHILDACTIVATE 0x0022
|
||
|
#define WM_QUEUESYNC 0x0023
|
||
|
#define WM_GETMINMAXINFO 0x0024
|
||
|
#define WM_PAINTICON 0x0026
|
||
|
#define WM_ICONERASEBKGND 0x0027
|
||
|
#define WM_NEXTDLGCTL 0x0028
|
||
|
#define WM_SPOOLERSTATUS 0x002A
|
||
|
#define WM_DRAWITEM 0x002B
|
||
|
#define WM_MEASUREITEM 0x002C
|
||
|
#define WM_DELETEITEM 0x002D
|
||
|
#define WM_VKEYTOITEM 0x002E
|
||
|
#define WM_CHARTOITEM 0x002F
|
||
|
#define WM_SETFONT 0x0030
|
||
|
#define WM_GETFONT 0x0031
|
||
|
|
||
|
|
||
|
#define WM_QUERYDRAGICON 0x0037
|
||
|
|
||
|
#define WM_COMPAREITEM 0x0039
|
||
|
#define WM_COMPACTING 0x0041
|
||
|
|
||
|
#define WM_NCCREATE 0x0081
|
||
|
#define WM_NCDESTROY 0x0082
|
||
|
#define WM_NCCALCSIZE 0x0083
|
||
|
#define WM_NCHITTEST 0x0084
|
||
|
#define WM_NCPAINT 0x0085
|
||
|
#define WM_NCACTIVATE 0x0086
|
||
|
#define WM_GETDLGCODE 0x0087
|
||
|
#define WM_NCMOUSEMOVE 0x00A0
|
||
|
#define WM_NCLBUTTONDOWN 0x00A1
|
||
|
#define WM_NCLBUTTONUP 0x00A2
|
||
|
#define WM_NCLBUTTONDBLCLK 0x00A3
|
||
|
#define WM_NCRBUTTONDOWN 0x00A4
|
||
|
#define WM_NCRBUTTONUP 0x00A5
|
||
|
#define WM_NCRBUTTONDBLCLK 0x00A6
|
||
|
#define WM_NCMBUTTONDOWN 0x00A7
|
||
|
#define WM_NCMBUTTONUP 0x00A8
|
||
|
#define WM_NCMBUTTONDBLCLK 0x00A9
|
||
|
|
||
|
#define WM_KEYFIRST 0x0100
|
||
|
#define WM_KEYDOWN 0x0100
|
||
|
#define WM_KEYUP 0x0101
|
||
|
#define WM_CHAR 0x0102
|
||
|
#define WM_DEADCHAR 0x0103
|
||
|
#define WM_SYSKEYDOWN 0x0104
|
||
|
#define WM_SYSKEYUP 0x0105
|
||
|
#define WM_SYSCHAR 0x0106
|
||
|
#define WM_SYSDEADCHAR 0x0107
|
||
|
#define WM_KEYLAST 0x0108
|
||
|
|
||
|
#define WM_INITDIALOG 0x0110
|
||
|
#define WM_COMMAND 0x0111
|
||
|
#define WM_SYSCOMMAND 0x0112
|
||
|
#define WM_TIMER 0x0113
|
||
|
#define WM_HSCROLL 0x0114
|
||
|
#define WM_VSCROLL 0x0115
|
||
|
#define WM_INITMENU 0x0116
|
||
|
#define WM_INITMENUPOPUP 0x0117
|
||
|
#define WM_MENUSELECT 0x011F
|
||
|
#define WM_MENUCHAR 0x0120
|
||
|
#define WM_ENTERIDLE 0x0121
|
||
|
|
||
|
|
||
|
#define WM_MOUSEFIRST 0x0200
|
||
|
#define WM_MOUSEMOVE 0x0200
|
||
|
#define WM_LBUTTONDOWN 0x0201
|
||
|
#define WM_LBUTTONUP 0x0202
|
||
|
#define WM_LBUTTONDBLCLK 0x0203
|
||
|
#define WM_RBUTTONDOWN 0x0204
|
||
|
#define WM_RBUTTONUP 0x0205
|
||
|
#define WM_RBUTTONDBLCLK 0x0206
|
||
|
#define WM_MBUTTONDOWN 0x0207
|
||
|
#define WM_MBUTTONUP 0x0208
|
||
|
#define WM_MBUTTONDBLCLK 0x0209
|
||
|
#define WM_MOUSELAST 0x0209
|
||
|
|
||
|
#define WM_PARENTNOTIFY 0x0210
|
||
|
#define WM_MDICREATE 0x0220
|
||
|
#define WM_MDIDESTROY 0x0221
|
||
|
#define WM_MDIACTIVATE 0x0222
|
||
|
#define WM_MDIRESTORE 0x0223
|
||
|
#define WM_MDINEXT 0x0224
|
||
|
#define WM_MDIMAXIMIZE 0x0225
|
||
|
#define WM_MDITILE 0x0226
|
||
|
#define WM_MDICASCADE 0x0227
|
||
|
#define WM_MDIICONARRANGE 0x0228
|
||
|
#define WM_MDIGETACTIVE 0x0229
|
||
|
#define WM_MDISETMENU 0x0230
|
||
|
|
||
|
|
||
|
#define WM_CUT 0x0300
|
||
|
#define WM_COPY 0x0301
|
||
|
#define WM_PASTE 0x0302
|
||
|
#define WM_CLEAR 0x0303
|
||
|
#define WM_UNDO 0x0304
|
||
|
#define WM_RENDERFORMAT 0x0305
|
||
|
#define WM_RENDERALLFORMATS 0x0306
|
||
|
#define WM_DESTROYCLIPBOARD 0x0307
|
||
|
#define WM_DRAWCLIPBOARD 0x0308
|
||
|
#define WM_PAINTCLIPBOARD 0x0309
|
||
|
#define WM_VSCROLLCLIPBOARD 0x030A
|
||
|
#define WM_SIZECLIPBOARD 0x030B
|
||
|
#define WM_ASKCBFORMATNAME 0x030C
|
||
|
#define WM_CHANGECBCHAIN 0x030D
|
||
|
#define WM_HSCROLLCLIPBOARD 0x030E
|
||
|
#define WM_QUERYNEWPALETTE 0x030F
|
||
|
#define WM_PALETTEISCHANGING 0x0310
|
||
|
#define WM_PALETTECHANGED 0x0311
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* NOTE: All Message Numbers below 0x0400 are RESERVED. */
|
||
|
|
||
|
/* Private Window Messages Start Here: */
|
||
|
#define WM_USER 0x0400
|
||
|
|
||
|
#ifndef NONCMESSAGES
|
||
|
|
||
|
/* WM_SYNCTASK Commands */
|
||
|
#define ST_BEGINSWP 0
|
||
|
#define ST_ENDSWP 1
|
||
|
|
||
|
/* WinWhere() Area Codes */
|
||
|
#define HTERROR (-2)
|
||
|
#define HTTRANSPARENT (-1)
|
||
|
#define HTNOWHERE 0
|
||
|
#define HTCLIENT 1
|
||
|
#define HTCAPTION 2
|
||
|
#define HTSYSMENU 3
|
||
|
#define HTGROWBOX 4
|
||
|
#define HTSIZE HTGROWBOX
|
||
|
#define HTMENU 5
|
||
|
#define HTHSCROLL 6
|
||
|
#define HTVSCROLL 7
|
||
|
#define HTREDUCE 8
|
||
|
#define HTZOOM 9
|
||
|
#define HTLEFT 10
|
||
|
#define HTRIGHT 11
|
||
|
#define HTTOP 12
|
||
|
#define HTTOPLEFT 13
|
||
|
#define HTTOPRIGHT 14
|
||
|
#define HTBOTTOM 15
|
||
|
#define HTBOTTOMLEFT 16
|
||
|
#define HTBOTTOMRIGHT 17
|
||
|
#define HTSIZEFIRST HTLEFT
|
||
|
#define HTSIZELAST HTBOTTOMRIGHT
|
||
|
|
||
|
#endif /* NONCMESSAGES */
|
||
|
|
||
|
/* WM_MOUSEACTIVATE Return Codes */
|
||
|
#define MA_ACTIVATE 1
|
||
|
#define MA_ACTIVATEANDEAT 2
|
||
|
#define MA_NOACTIVATE 3
|
||
|
|
||
|
WORD FAR PASCAL RegisterWindowMessage(LPSTR);
|
||
|
|
||
|
/* Size Message Commands */
|
||
|
#define SIZENORMAL 0
|
||
|
#define SIZEICONIC 1
|
||
|
#define SIZEFULLSCREEN 2
|
||
|
#define SIZEZOOMSHOW 3
|
||
|
#define SIZEZOOMHIDE 4
|
||
|
|
||
|
#ifndef NOKEYSTATES
|
||
|
|
||
|
/* Key State Masks for Mouse Messages */
|
||
|
#define MK_LBUTTON 0x0001
|
||
|
#define MK_RBUTTON 0x0002
|
||
|
#define MK_SHIFT 0x0004
|
||
|
#define MK_CONTROL 0x0008
|
||
|
#define MK_MBUTTON 0x0010
|
||
|
|
||
|
#endif /* NOKEYSTATES */
|
||
|
|
||
|
#endif /* NOWINMESSAGES */
|
||
|
|
||
|
#ifndef NOWINSTYLES
|
||
|
|
||
|
/* Window Styles */
|
||
|
#define WS_OVERLAPPED 0x00000000L
|
||
|
#define WS_POPUP 0x80000000L
|
||
|
#define WS_CHILD 0x40000000L
|
||
|
#define WS_MINIMIZE 0x20000000L
|
||
|
#define WS_VISIBLE 0x10000000L
|
||
|
#define WS_DISABLED 0x08000000L
|
||
|
#define WS_CLIPSIBLINGS 0x04000000L
|
||
|
#define WS_CLIPCHILDREN 0x02000000L
|
||
|
#define WS_MAXIMIZE 0x01000000L
|
||
|
#define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */
|
||
|
#define WS_BORDER 0x00800000L
|
||
|
#define WS_DLGFRAME 0x00400000L
|
||
|
#define WS_VSCROLL 0x00200000L
|
||
|
#define WS_HSCROLL 0x00100000L
|
||
|
#define WS_SYSMENU 0x00080000L
|
||
|
#define WS_THICKFRAME 0x00040000L
|
||
|
#define WS_GROUP 0x00020000L
|
||
|
#define WS_TABSTOP 0x00010000L
|
||
|
|
||
|
#define WS_MINIMIZEBOX 0x00020000L
|
||
|
#define WS_MAXIMIZEBOX 0x00010000L
|
||
|
|
||
|
#define WS_TILED WS_OVERLAPPED
|
||
|
#define WS_ICONIC WS_MINIMIZE
|
||
|
#define WS_SIZEBOX WS_THICKFRAME
|
||
|
|
||
|
/* Common Window Styles */
|
||
|
#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
|
||
|
#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
|
||
|
#define WS_CHILDWINDOW (WS_CHILD)
|
||
|
|
||
|
#define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
|
||
|
|
||
|
/* Extended Window Styles */
|
||
|
#define WS_EX_DLGMODALFRAME 0x00000001L
|
||
|
#define WS_EX_NOPARENTNOTIFY 0x00000004L
|
||
|
|
||
|
/* Class styles */
|
||
|
#define CS_VREDRAW 0x0001
|
||
|
#define CS_HREDRAW 0x0002
|
||
|
#define CS_KEYCVTWINDOW 0x0004
|
||
|
#define CS_DBLCLKS 0x0008
|
||
|
/* 0x0010 -- no longer used */
|
||
|
#define CS_OWNDC 0x0020
|
||
|
#define CS_CLASSDC 0x0040
|
||
|
#define CS_PARENTDC 0x0080
|
||
|
#define CS_NOKEYCVT 0x0100
|
||
|
#define CS_NOCLOSE 0x0200
|
||
|
#define CS_SAVEBITS 0x0800
|
||
|
#define CS_BYTEALIGNCLIENT 0x1000
|
||
|
#define CS_BYTEALIGNWINDOW 0x2000
|
||
|
#define CS_GLOBALCLASS 0x4000 /* Global window class */
|
||
|
|
||
|
#endif /* NOWINSTYLES */
|
||
|
|
||
|
#ifndef NOCLIPBOARD
|
||
|
|
||
|
/* Predefined Clipboard Formats */
|
||
|
#define CF_TEXT 1
|
||
|
#define CF_BITMAP 2
|
||
|
#define CF_METAFILEPICT 3
|
||
|
#define CF_SYLK 4
|
||
|
#define CF_DIF 5
|
||
|
#define CF_TIFF 6
|
||
|
#define CF_OEMTEXT 7
|
||
|
#define CF_DIB 8
|
||
|
#define CF_PALETTE 9
|
||
|
|
||
|
#define CF_OWNERDISPLAY 0x0080
|
||
|
#define CF_DSPTEXT 0x0081
|
||
|
#define CF_DSPBITMAP 0x0082
|
||
|
#define CF_DSPMETAFILEPICT 0x0083
|
||
|
|
||
|
/* "Private" formats don't get GlobalFree()'d */
|
||
|
#define CF_PRIVATEFIRST 0x0200
|
||
|
#define CF_PRIVATELAST 0x02FF
|
||
|
|
||
|
/* "GDIOBJ" formats do get DeleteObject()'d */
|
||
|
#define CF_GDIOBJFIRST 0x0300
|
||
|
#define CF_GDIOBJLAST 0x03FF
|
||
|
|
||
|
#endif /* NOCLIPBOARD */
|
||
|
|
||
|
typedef struct tagPAINTSTRUCT
|
||
|
{
|
||
|
HDC hdc;
|
||
|
BOOL fErase;
|
||
|
RECT rcPaint;
|
||
|
BOOL fRestore;
|
||
|
BOOL fIncUpdate;
|
||
|
BYTE rgbReserved[16];
|
||
|
} PAINTSTRUCT;
|
||
|
typedef PAINTSTRUCT *PPAINTSTRUCT;
|
||
|
typedef PAINTSTRUCT NEAR *NPPAINTSTRUCT;
|
||
|
typedef PAINTSTRUCT FAR *LPPAINTSTRUCT;
|
||
|
|
||
|
typedef struct tagCREATESTRUCT
|
||
|
{
|
||
|
LPSTR lpCreateParams;
|
||
|
HANDLE hInstance;
|
||
|
HANDLE hMenu;
|
||
|
HWND hwndParent;
|
||
|
int cy;
|
||
|
int cx;
|
||
|
int y;
|
||
|
int x;
|
||
|
LONG style;
|
||
|
LPSTR lpszName;
|
||
|
LPSTR lpszClass;
|
||
|
DWORD dwExStyle;
|
||
|
} CREATESTRUCT;
|
||
|
typedef CREATESTRUCT FAR *LPCREATESTRUCT;
|
||
|
|
||
|
|
||
|
/* Owner draw control types */
|
||
|
#define ODT_MENU 1
|
||
|
#define ODT_LISTBOX 2
|
||
|
#define ODT_COMBOBOX 3
|
||
|
#define ODT_BUTTON 4
|
||
|
|
||
|
/* Owner draw actions */
|
||
|
#define ODA_DRAWENTIRE 0x0001
|
||
|
#define ODA_SELECT 0x0002
|
||
|
#define ODA_FOCUS 0x0004
|
||
|
|
||
|
/* Owner draw state */
|
||
|
#define ODS_SELECTED 0x0001
|
||
|
#define ODS_GRAYED 0x0002
|
||
|
#define ODS_DISABLED 0x0004
|
||
|
#define ODS_CHECKED 0x0008
|
||
|
#define ODS_FOCUS 0x0010
|
||
|
|
||
|
/* MEASUREITEMSTRUCT for ownerdraw */
|
||
|
typedef struct tagMEASUREITEMSTRUCT
|
||
|
{
|
||
|
WORD CtlType;
|
||
|
WORD CtlID;
|
||
|
WORD itemID;
|
||
|
WORD itemWidth;
|
||
|
WORD itemHeight;
|
||
|
DWORD itemData;
|
||
|
} MEASUREITEMSTRUCT;
|
||
|
typedef MEASUREITEMSTRUCT NEAR *PMEASUREITEMSTRUCT;
|
||
|
typedef MEASUREITEMSTRUCT FAR *LPMEASUREITEMSTRUCT;
|
||
|
|
||
|
|
||
|
/* DRAWITEMSTRUCT for ownerdraw */
|
||
|
typedef struct tagDRAWITEMSTRUCT
|
||
|
{
|
||
|
WORD CtlType;
|
||
|
WORD CtlID;
|
||
|
WORD itemID;
|
||
|
WORD itemAction;
|
||
|
WORD itemState;
|
||
|
HWND hwndItem;
|
||
|
HDC hDC;
|
||
|
RECT rcItem;
|
||
|
DWORD itemData;
|
||
|
} DRAWITEMSTRUCT;
|
||
|
typedef DRAWITEMSTRUCT NEAR *PDRAWITEMSTRUCT;
|
||
|
typedef DRAWITEMSTRUCT FAR *LPDRAWITEMSTRUCT;
|
||
|
|
||
|
/* DELETEITEMSTRUCT for ownerdraw */
|
||
|
typedef struct tagDELETEITEMSTRUCT
|
||
|
{
|
||
|
WORD CtlType;
|
||
|
WORD CtlID;
|
||
|
WORD itemID;
|
||
|
HWND hwndItem;
|
||
|
DWORD itemData;
|
||
|
} DELETEITEMSTRUCT;
|
||
|
typedef DELETEITEMSTRUCT NEAR *PDELETEITEMSTRUCT;
|
||
|
typedef DELETEITEMSTRUCT FAR *LPDELETEITEMSTRUCT;
|
||
|
|
||
|
/* COMPAREITEMSTUCT for ownerdraw sorting */
|
||
|
typedef struct tagCOMPAREITEMSTRUCT
|
||
|
{
|
||
|
WORD CtlType;
|
||
|
WORD CtlID;
|
||
|
HWND hwndItem;
|
||
|
WORD itemID1;
|
||
|
DWORD itemData1;
|
||
|
WORD itemID2;
|
||
|
DWORD itemData2;
|
||
|
} COMPAREITEMSTRUCT;
|
||
|
typedef COMPAREITEMSTRUCT NEAR *PCOMPAREITEMSTRUCT;
|
||
|
typedef COMPAREITEMSTRUCT FAR *LPCOMPAREITEMSTRUCT;
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
|
||
|
/* Message Function Templates */
|
||
|
BOOL FAR PASCAL GetMessage(LPMSG, HWND, WORD, WORD);
|
||
|
BOOL FAR PASCAL TranslateMessage(LPMSG);
|
||
|
LONG FAR PASCAL DispatchMessage(LPMSG);
|
||
|
BOOL FAR PASCAL PeekMessage(LPMSG, HWND, WORD, WORD, WORD);
|
||
|
|
||
|
/* PeekMessage() Options */
|
||
|
#define PM_NOREMOVE 0x0000
|
||
|
#define PM_REMOVE 0x0001
|
||
|
#define PM_NOYIELD 0x0002
|
||
|
|
||
|
#endif /* NOMSG */
|
||
|
|
||
|
#ifdef WIN_INTERNAL
|
||
|
#ifndef LSTRING
|
||
|
#define NOLSTRING
|
||
|
#endif
|
||
|
#ifndef LFILEIO
|
||
|
#define NOLFILEIO
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef NOLSTRING
|
||
|
int FAR PASCAL lstrcmp( LPSTR, LPSTR );
|
||
|
int FAR PASCAL lstrcmpi( LPSTR, LPSTR );
|
||
|
LPSTR FAR PASCAL lstrcpy( LPSTR, LPSTR );
|
||
|
LPSTR FAR PASCAL lstrcat( LPSTR, LPSTR );
|
||
|
int FAR PASCAL lstrlen( LPSTR );
|
||
|
#endif /* NOLSTRING */
|
||
|
|
||
|
#ifndef NOLFILEIO
|
||
|
int FAR PASCAL _lopen( LPSTR, int );
|
||
|
int FAR PASCAL _lclose( int );
|
||
|
int FAR PASCAL _lcreat( LPSTR, int );
|
||
|
LONG FAR PASCAL _llseek( int, long, int );
|
||
|
WORD FAR PASCAL _lread( int, LPSTR, int );
|
||
|
WORD FAR PASCAL _lwrite( int, LPSTR, int );
|
||
|
|
||
|
#define READ 0 /* Flags for _lopen */
|
||
|
#define WRITE 1
|
||
|
#define READ_WRITE 2
|
||
|
#endif /* NOLFILEIO */
|
||
|
|
||
|
BOOL FAR PASCAL ExitWindows(DWORD dwReserved, WORD wReturnCode);
|
||
|
|
||
|
BOOL FAR PASCAL SwapMouseButton(BOOL);
|
||
|
DWORD FAR PASCAL GetMessagePos(void);
|
||
|
LONG FAR PASCAL GetMessageTime(void);
|
||
|
|
||
|
HWND FAR PASCAL GetSysModalWindow(void);
|
||
|
HWND FAR PASCAL SetSysModalWindow(HWND);
|
||
|
|
||
|
LONG FAR PASCAL SendMessage(HWND, WORD, WORD, LONG);
|
||
|
BOOL FAR PASCAL PostMessage(HWND, WORD, WORD, LONG);
|
||
|
BOOL FAR PASCAL PostAppMessage(HANDLE, WORD, WORD, LONG);
|
||
|
void FAR PASCAL ReplyMessage(LONG);
|
||
|
void FAR PASCAL WaitMessage(void);
|
||
|
LONG FAR PASCAL DefWindowProc(HWND, WORD, WORD, LONG);
|
||
|
void FAR PASCAL PostQuitMessage(int);
|
||
|
LONG FAR PASCAL CallWindowProc(FARPROC, HWND, WORD, WORD, LONG);
|
||
|
BOOL FAR PASCAL InSendMessage(void);
|
||
|
DWORD FAR PASCAL InSendMessageEx(LPVOID);
|
||
|
|
||
|
WORD FAR PASCAL GetDoubleClickTime(void);
|
||
|
void FAR PASCAL SetDoubleClickTime(WORD);
|
||
|
|
||
|
BOOL FAR PASCAL RegisterClass(LPWNDCLASS);
|
||
|
BOOL FAR PASCAL UnregisterClass(LPSTR, HANDLE);
|
||
|
BOOL FAR PASCAL GetClassInfo(HANDLE, LPSTR, LPWNDCLASS);
|
||
|
|
||
|
BOOL FAR PASCAL SetMessageQueue(int);
|
||
|
|
||
|
#define CW_USEDEFAULT ((int)0x8000)
|
||
|
HWND FAR PASCAL CreateWindow(LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HMENU, HANDLE, LPSTR);
|
||
|
HWND FAR PASCAL CreateWindowEx(DWORD, LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HMENU, HANDLE, LPSTR);
|
||
|
|
||
|
BOOL FAR PASCAL IsWindow(HWND);
|
||
|
BOOL FAR PASCAL IsChild(HWND, HWND);
|
||
|
BOOL FAR PASCAL DestroyWindow(HWND);
|
||
|
|
||
|
BOOL FAR PASCAL ShowWindow(HWND, int);
|
||
|
BOOL FAR PASCAL FlashWindow(HWND, BOOL);
|
||
|
void FAR PASCAL ShowOwnedPopups(HWND, BOOL);
|
||
|
|
||
|
BOOL FAR PASCAL OpenIcon(HWND);
|
||
|
void FAR PASCAL CloseWindow(HWND);
|
||
|
void FAR PASCAL MoveWindow(HWND, int, int, int, int, BOOL);
|
||
|
void FAR PASCAL SetWindowPos(HWND, HWND, int, int, int, int, WORD);
|
||
|
|
||
|
#ifndef NODEFERWINDOWPOS
|
||
|
|
||
|
HANDLE FAR PASCAL BeginDeferWindowPos(int nNumWindows);
|
||
|
HANDLE FAR PASCAL DeferWindowPos(HANDLE hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, WORD wFlags);
|
||
|
void FAR PASCAL EndDeferWindowPos(HANDLE hWinPosInfo);
|
||
|
|
||
|
#endif /* NODEFERWINDOWPOS */
|
||
|
|
||
|
BOOL FAR PASCAL IsWindowVisible(HWND);
|
||
|
BOOL FAR PASCAL IsIconic(HWND);
|
||
|
BOOL FAR PASCAL AnyPopup(void);
|
||
|
void FAR PASCAL BringWindowToTop(HWND);
|
||
|
BOOL FAR PASCAL IsZoomed(HWND);
|
||
|
|
||
|
/* SetWindowPos Flags */
|
||
|
#define SWP_NOSIZE 0x0001
|
||
|
#define SWP_NOMOVE 0x0002
|
||
|
#define SWP_NOZORDER 0x0004
|
||
|
#define SWP_NOREDRAW 0x0008
|
||
|
#define SWP_NOACTIVATE 0x0010
|
||
|
#define SWP_DRAWFRAME 0x0020
|
||
|
#define SWP_SHOWWINDOW 0x0040
|
||
|
#define SWP_HIDEWINDOW 0x0080
|
||
|
#define SWP_NOCOPYBITS 0x0100
|
||
|
#define SWP_NOREPOSITION 0x0200
|
||
|
|
||
|
#ifndef NOCTLMGR
|
||
|
|
||
|
HWND FAR PASCAL CreateDialog(HANDLE, LPSTR, HWND, FARPROC);
|
||
|
HWND FAR PASCAL CreateDialogIndirect(HANDLE, LPSTR, HWND, FARPROC);
|
||
|
HWND FAR PASCAL CreateDialogParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
|
||
|
HWND FAR PASCAL CreateDialogIndirectParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
|
||
|
int FAR PASCAL DialogBox(HANDLE, LPSTR, HWND, FARPROC);
|
||
|
int FAR PASCAL DialogBoxIndirect(HANDLE, HANDLE, HWND, FARPROC);
|
||
|
int FAR PASCAL DialogBoxParam(HANDLE, LPSTR, HWND, FARPROC, LONG);
|
||
|
int FAR PASCAL DialogBoxIndirectParam(HANDLE, HANDLE, HWND, FARPROC, LONG);
|
||
|
void FAR PASCAL EndDialog(HWND, int);
|
||
|
HWND FAR PASCAL GetDlgItem(HWND, int);
|
||
|
void FAR PASCAL SetDlgItemInt(HWND, int, WORD, BOOL);
|
||
|
WORD FAR PASCAL GetDlgItemInt(HWND, int, BOOL FAR *, BOOL);
|
||
|
void FAR PASCAL SetDlgItemText(HWND, int, LPSTR);
|
||
|
int FAR PASCAL GetDlgItemText(HWND, int, LPSTR, int);
|
||
|
void FAR PASCAL CheckDlgButton(HWND, int, WORD);
|
||
|
void FAR PASCAL CheckRadioButton(HWND, int, int, int);
|
||
|
WORD FAR PASCAL IsDlgButtonChecked(HWND, int);
|
||
|
LONG FAR PASCAL SendDlgItemMessage(HWND, int, WORD, WORD, LONG);
|
||
|
HWND FAR PASCAL GetNextDlgGroupItem(HWND, HWND, BOOL);
|
||
|
HWND FAR PASCAL GetNextDlgTabItem(HWND, HWND, BOOL);
|
||
|
int FAR PASCAL GetDlgCtrlID(HWND);
|
||
|
long FAR PASCAL GetDialogBaseUnits(void);
|
||
|
LONG FAR PASCAL DefDlgProc(HWND, WORD, WORD, LONG);
|
||
|
#define DLGWINDOWEXTRA 30 /* Window extra byted needed for private dialog classes */
|
||
|
|
||
|
#endif /* NOCTLMGR */
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
BOOL FAR PASCAL CallMsgFilter(LPMSG, int);
|
||
|
#endif
|
||
|
|
||
|
#ifndef NOCLIPBOARD
|
||
|
|
||
|
/* Clipboard Manager Functions */
|
||
|
BOOL FAR PASCAL OpenClipboard(HWND);
|
||
|
BOOL FAR PASCAL CloseClipboard(void);
|
||
|
HWND FAR PASCAL GetClipboardOwner(void);
|
||
|
HWND FAR PASCAL SetClipboardViewer(HWND);
|
||
|
HWND FAR PASCAL GetClipboardViewer(void);
|
||
|
BOOL FAR PASCAL ChangeClipboardChain(HWND, HWND);
|
||
|
HANDLE FAR PASCAL SetClipboardData(WORD, HANDLE);
|
||
|
HANDLE FAR PASCAL GetClipboardData(WORD);
|
||
|
WORD FAR PASCAL RegisterClipboardFormat(LPSTR);
|
||
|
int FAR PASCAL CountClipboardFormats(void);
|
||
|
WORD FAR PASCAL EnumClipboardFormats(WORD);
|
||
|
int FAR PASCAL GetClipboardFormatName(WORD, LPSTR, int);
|
||
|
BOOL FAR PASCAL EmptyClipboard(void);
|
||
|
BOOL FAR PASCAL IsClipboardFormatAvailable(WORD);
|
||
|
int FAR PASCAL GetPriorityClipboardFormat(WORD FAR *, int);
|
||
|
|
||
|
#endif /* NOCLIPBOARD */
|
||
|
|
||
|
HWND FAR PASCAL SetFocus(HWND);
|
||
|
HWND FAR PASCAL GetFocus(void);
|
||
|
HWND FAR PASCAL GetActiveWindow(void);
|
||
|
int FAR PASCAL GetKeyState(int);
|
||
|
int FAR PASCAL GetAsyncKeyState(int);
|
||
|
void FAR PASCAL GetKeyboardState(BYTE FAR *);
|
||
|
void FAR PASCAL SetKeyboardState(BYTE FAR *);
|
||
|
BOOL FAR PASCAL EnableHardwareInput(BOOL);
|
||
|
BOOL FAR PASCAL GetInputState(void);
|
||
|
HWND FAR PASCAL GetCapture(void);
|
||
|
HWND FAR PASCAL SetCapture(HWND);
|
||
|
void FAR PASCAL ReleaseCapture(void);
|
||
|
|
||
|
/* Windows Functions */
|
||
|
WORD FAR PASCAL SetTimer(HWND, int, WORD, FARPROC);
|
||
|
BOOL FAR PASCAL KillTimer(HWND, int);
|
||
|
|
||
|
BOOL FAR PASCAL EnableWindow(HWND,BOOL);
|
||
|
BOOL FAR PASCAL IsWindowEnabled(HWND);
|
||
|
|
||
|
HANDLE FAR PASCAL LoadAccelerators(HANDLE, LPSTR);
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
int FAR PASCAL TranslateAccelerator(HWND, HANDLE, LPMSG);
|
||
|
#endif
|
||
|
|
||
|
#ifndef NOSYSMETRICS
|
||
|
|
||
|
/* GetSystemMetrics() codes */
|
||
|
#define SM_CXSCREEN 0
|
||
|
#define SM_CYSCREEN 1
|
||
|
#define SM_CXVSCROLL 2
|
||
|
#define SM_CYHSCROLL 3
|
||
|
#define SM_CYCAPTION 4
|
||
|
#define SM_CXBORDER 5
|
||
|
#define SM_CYBORDER 6
|
||
|
#define SM_CXDLGFRAME 7
|
||
|
#define SM_CYDLGFRAME 8
|
||
|
#define SM_CYVTHUMB 9
|
||
|
#define SM_CXHTHUMB 10
|
||
|
#define SM_CXICON 11
|
||
|
#define SM_CYICON 12
|
||
|
#define SM_CXCURSOR 13
|
||
|
#define SM_CYCURSOR 14
|
||
|
#define SM_CYMENU 15
|
||
|
#define SM_CXFULLSCREEN 16
|
||
|
#define SM_CYFULLSCREEN 17
|
||
|
#define SM_CYKANJIWINDOW 18
|
||
|
#define SM_MOUSEPRESENT 19
|
||
|
#define SM_CYVSCROLL 20
|
||
|
#define SM_CXHSCROLL 21
|
||
|
#define SM_DEBUG 22
|
||
|
#define SM_SWAPBUTTON 23
|
||
|
#define SM_RESERVED1 24
|
||
|
#define SM_RESERVED2 25
|
||
|
#define SM_RESERVED3 26
|
||
|
#define SM_RESERVED4 27
|
||
|
#define SM_CXMIN 28
|
||
|
#define SM_CYMIN 29
|
||
|
#define SM_CXSIZE 30
|
||
|
#define SM_CYSIZE 31
|
||
|
#define SM_CXFRAME 32
|
||
|
#define SM_CYFRAME 33
|
||
|
#define SM_CXMINTRACK 34
|
||
|
#define SM_CYMINTRACK 35
|
||
|
#define SM_CMETRICS 36
|
||
|
|
||
|
int FAR PASCAL GetSystemMetrics(int);
|
||
|
|
||
|
#endif /* NOSYSMETRICS */
|
||
|
|
||
|
#ifndef NOMENUS
|
||
|
|
||
|
HMENU FAR PASCAL LoadMenu(HANDLE, LPSTR);
|
||
|
HMENU FAR PASCAL LoadMenuIndirect(LPSTR);
|
||
|
HMENU FAR PASCAL GetMenu(HWND);
|
||
|
BOOL FAR PASCAL SetMenu(HWND, HMENU);
|
||
|
BOOL FAR PASCAL ChangeMenu(HMENU, WORD, LPSTR, WORD, WORD);
|
||
|
BOOL FAR PASCAL HiliteMenuItem(HWND, HMENU, WORD, WORD);
|
||
|
int FAR PASCAL GetMenuString(HMENU, WORD, LPSTR, int, WORD);
|
||
|
WORD FAR PASCAL GetMenuState(HMENU, WORD, WORD);
|
||
|
void FAR PASCAL DrawMenuBar(HWND);
|
||
|
HMENU FAR PASCAL GetSystemMenu(HWND, BOOL);
|
||
|
HMENU FAR PASCAL CreateMenu(void);
|
||
|
HMENU FAR PASCAL CreatePopupMenu(void);
|
||
|
BOOL FAR PASCAL DestroyMenu(HMENU);
|
||
|
BOOL FAR PASCAL CheckMenuItem(HMENU, WORD, WORD);
|
||
|
BOOL FAR PASCAL EnableMenuItem(HMENU, WORD, WORD);
|
||
|
HMENU FAR PASCAL GetSubMenu(HMENU, int);
|
||
|
WORD FAR PASCAL GetMenuItemID(HMENU, int);
|
||
|
WORD FAR PASCAL GetMenuItemCount(HMENU);
|
||
|
|
||
|
BOOL FAR PASCAL InsertMenu(HMENU, WORD, WORD, WORD, LPSTR);
|
||
|
BOOL FAR PASCAL AppendMenu(HMENU, WORD, WORD, LPSTR);
|
||
|
BOOL FAR PASCAL ModifyMenu(HMENU, WORD, WORD, WORD, LPSTR);
|
||
|
BOOL FAR PASCAL RemoveMenu(HMENU, WORD, WORD);
|
||
|
BOOL FAR PASCAL DeleteMenu(HMENU, WORD, WORD);
|
||
|
BOOL FAR PASCAL SetMenuItemBitmaps(HMENU, WORD, WORD, HBITMAP, HBITMAP);
|
||
|
LONG FAR PASCAL GetMenuCheckMarkDimensions(void);
|
||
|
BOOL FAR PASCAL TrackPopupMenu(HMENU, WORD, int, int, int, HWND, LPRECT);
|
||
|
|
||
|
#endif /* NOMENUS */
|
||
|
|
||
|
BOOL FAR PASCAL GrayString(HDC, HBRUSH, FARPROC, DWORD, int, int, int, int, int);
|
||
|
void FAR PASCAL UpdateWindow(HWND);
|
||
|
HWND FAR PASCAL SetActiveWindow(HWND);
|
||
|
|
||
|
HDC FAR PASCAL BeginPaint(HWND, LPPAINTSTRUCT);
|
||
|
void FAR PASCAL EndPaint(HWND, LPPAINTSTRUCT);
|
||
|
BOOL FAR PASCAL GetUpdateRect(HWND, LPRECT, BOOL);
|
||
|
int FAR PASCAL GetUpdateRgn(HWND, HRGN, BOOL);
|
||
|
|
||
|
int FAR PASCAL ExcludeUpdateRgn(HDC, HWND);
|
||
|
|
||
|
void FAR PASCAL InvalidateRect(HWND, LPRECT, BOOL);
|
||
|
void FAR PASCAL ValidateRect(HWND, LPRECT);
|
||
|
|
||
|
void FAR PASCAL InvalidateRgn(HWND, HRGN, BOOL);
|
||
|
void FAR PASCAL ValidateRgn(HWND, HRGN);
|
||
|
|
||
|
void FAR PASCAL ScrollWindow(HWND, int, int, LPRECT, LPRECT);
|
||
|
BOOL FAR PASCAL ScrollDC(HDC, int, int, LPRECT, LPRECT, HRGN, LPRECT);
|
||
|
|
||
|
#ifndef NOSCROLL
|
||
|
int FAR PASCAL SetScrollPos(HWND, int, int, BOOL);
|
||
|
int FAR PASCAL GetScrollPos(HWND, int);
|
||
|
void FAR PASCAL SetScrollRange(HWND, int, int, int, BOOL);
|
||
|
void FAR PASCAL GetScrollRange(HWND, int, LPINT, LPINT);
|
||
|
void FAR PASCAL ShowScrollBar(HWND, WORD, BOOL);
|
||
|
#endif
|
||
|
|
||
|
BOOL FAR PASCAL SetProp(HWND, LPSTR, HANDLE);
|
||
|
HANDLE FAR PASCAL GetProp(HWND, LPSTR);
|
||
|
HANDLE FAR PASCAL RemoveProp(HWND, LPSTR);
|
||
|
int FAR PASCAL EnumProps(HWND, FARPROC);
|
||
|
void FAR PASCAL SetWindowText(HWND, LPSTR);
|
||
|
int FAR PASCAL GetWindowText(HWND, LPSTR, int);
|
||
|
int FAR PASCAL GetWindowTextLength(HWND);
|
||
|
|
||
|
void FAR PASCAL GetClientRect(HWND, LPRECT);
|
||
|
void FAR PASCAL GetWindowRect(HWND, LPRECT);
|
||
|
void FAR PASCAL AdjustWindowRect(LPRECT, LONG, BOOL);
|
||
|
void FAR PASCAL AdjustWindowRectEx(LPRECT, LONG, BOOL, DWORD);
|
||
|
|
||
|
#ifndef NOMB
|
||
|
|
||
|
/* MessageBox() Flags */
|
||
|
#define MB_OK 0x0000
|
||
|
#define MB_OKCANCEL 0x0001
|
||
|
#define MB_ABORTRETRYIGNORE 0x0002
|
||
|
#define MB_YESNOCANCEL 0x0003
|
||
|
#define MB_YESNO 0x0004
|
||
|
#define MB_RETRYCANCEL 0x0005
|
||
|
|
||
|
#define MB_ICONHAND 0x0010
|
||
|
#define MB_ICONQUESTION 0x0020
|
||
|
#define MB_ICONEXCLAMATION 0x0030
|
||
|
#define MB_ICONASTERISK 0x0040
|
||
|
|
||
|
#define MB_ICONINFORMATION MB_ICONASTERISK
|
||
|
#define MB_ICONSTOP MB_ICONHAND
|
||
|
|
||
|
#define MB_DEFBUTTON1 0x0000
|
||
|
#define MB_DEFBUTTON2 0x0100
|
||
|
#define MB_DEFBUTTON3 0x0200
|
||
|
|
||
|
#define MB_APPLMODAL 0x0000
|
||
|
#define MB_SYSTEMMODAL 0x1000
|
||
|
#define MB_TASKMODAL 0x2000
|
||
|
|
||
|
#define MB_NOFOCUS 0x8000
|
||
|
|
||
|
#define MB_TYPEMASK 0x000F
|
||
|
#define MB_ICONMASK 0x00F0
|
||
|
#define MB_DEFMASK 0x0F00
|
||
|
#define MB_MODEMASK 0x3000
|
||
|
#define MB_MISCMASK 0xC000
|
||
|
|
||
|
int FAR PASCAL MessageBox(HWND, LPSTR, LPSTR, WORD);
|
||
|
void FAR PASCAL MessageBeep(WORD);
|
||
|
|
||
|
#endif /* NOMB */
|
||
|
|
||
|
int FAR PASCAL ShowCursor(BOOL);
|
||
|
void FAR PASCAL SetCursorPos(int, int);
|
||
|
HCURSOR FAR PASCAL SetCursor(HCURSOR);
|
||
|
void FAR PASCAL GetCursorPos(LPPOINT);
|
||
|
void FAR PASCAL ClipCursor(LPRECT);
|
||
|
|
||
|
void FAR PASCAL CreateCaret(HWND, HBITMAP, int, int);
|
||
|
WORD FAR PASCAL GetCaretBlinkTime(void);
|
||
|
void FAR PASCAL SetCaretBlinkTime(WORD);
|
||
|
void FAR PASCAL DestroyCaret(void);
|
||
|
void FAR PASCAL HideCaret(HWND);
|
||
|
void FAR PASCAL ShowCaret(HWND);
|
||
|
void FAR PASCAL SetCaretPos(int, int);
|
||
|
void FAR PASCAL GetCaretPos(LPPOINT);
|
||
|
|
||
|
void FAR PASCAL ClientToScreen(HWND, LPPOINT);
|
||
|
void FAR PASCAL ScreenToClient(HWND, LPPOINT);
|
||
|
HWND FAR PASCAL WindowFromPoint(POINT);
|
||
|
HWND FAR PASCAL ChildWindowFromPoint(HWND, POINT);
|
||
|
|
||
|
#ifndef NOCOLOR
|
||
|
|
||
|
/* Color Types */
|
||
|
#define CTLCOLOR_MSGBOX 0
|
||
|
#define CTLCOLOR_EDIT 1
|
||
|
#define CTLCOLOR_LISTBOX 2
|
||
|
#define CTLCOLOR_BTN 3
|
||
|
#define CTLCOLOR_DLG 4
|
||
|
#define CTLCOLOR_SCROLLBAR 5
|
||
|
#define CTLCOLOR_STATIC 6
|
||
|
#define CTLCOLOR_MAX 8 /* three bits max */
|
||
|
|
||
|
#define COLOR_SCROLLBAR 0
|
||
|
#define COLOR_BACKGROUND 1
|
||
|
#define COLOR_ACTIVECAPTION 2
|
||
|
#define COLOR_INACTIVECAPTION 3
|
||
|
#define COLOR_MENU 4
|
||
|
#define COLOR_WINDOW 5
|
||
|
#define COLOR_WINDOWFRAME 6
|
||
|
#define COLOR_MENUTEXT 7
|
||
|
#define COLOR_WINDOWTEXT 8
|
||
|
#define COLOR_CAPTIONTEXT 9
|
||
|
#define COLOR_ACTIVEBORDER 10
|
||
|
#define COLOR_INACTIVEBORDER 11
|
||
|
#define COLOR_APPWORKSPACE 12
|
||
|
#define COLOR_HIGHLIGHT 13
|
||
|
#define COLOR_HIGHLIGHTTEXT 14
|
||
|
#define COLOR_BTNFACE 15
|
||
|
#define COLOR_BTNSHADOW 16
|
||
|
#define COLOR_GRAYTEXT 17
|
||
|
#define COLOR_BTNTEXT 18
|
||
|
#define COLOR_ENDCOLORS COLOR_BTNTEXT
|
||
|
|
||
|
DWORD FAR PASCAL GetSysColor(int);
|
||
|
void FAR PASCAL SetSysColors(int, LPINT, LONG FAR *);
|
||
|
|
||
|
#endif /* NOCOLOR */
|
||
|
|
||
|
BOOL FAR PASCAL FillRgn(HDC, HRGN, HBRUSH);
|
||
|
BOOL FAR PASCAL FrameRgn(HDC, HRGN, HBRUSH, int, int);
|
||
|
BOOL FAR PASCAL InvertRgn(HDC, HRGN);
|
||
|
BOOL FAR PASCAL PaintRgn(HDC, HRGN);
|
||
|
BOOL FAR PASCAL PtInRegion(HRGN, int, int);
|
||
|
|
||
|
void FAR PASCAL DrawFocusRect(HDC, LPRECT);
|
||
|
int FAR PASCAL FillRect(HDC, LPRECT, HBRUSH);
|
||
|
int FAR PASCAL FrameRect(HDC, LPRECT, HBRUSH);
|
||
|
void FAR PASCAL InvertRect(HDC, LPRECT);
|
||
|
void FAR PASCAL SetRect(LPRECT, int, int, int, int);
|
||
|
void FAR PASCAL SetRectEmpty(LPRECT);
|
||
|
int FAR PASCAL CopyRect(LPRECT, LPRECT);
|
||
|
void FAR PASCAL InflateRect(LPRECT, int, int);
|
||
|
int FAR PASCAL IntersectRect(LPRECT, LPRECT, LPRECT);
|
||
|
int FAR PASCAL UnionRect(LPRECT, LPRECT, LPRECT);
|
||
|
void FAR PASCAL OffsetRect(LPRECT, int, int);
|
||
|
BOOL FAR PASCAL IsRectEmpty(LPRECT);
|
||
|
BOOL FAR PASCAL EqualRect(LPRECT, LPRECT);
|
||
|
BOOL FAR PASCAL PtInRect(LPRECT, POINT);
|
||
|
BOOL FAR PASCAL RectVisible(HDC, LPRECT);
|
||
|
BOOL FAR PASCAL RectInRegion(HRGN, LPRECT);
|
||
|
|
||
|
DWORD FAR PASCAL GetCurrentTime(void);
|
||
|
DWORD FAR PASCAL GetTickCount(void);
|
||
|
|
||
|
#ifndef NOWINOFFSETS
|
||
|
|
||
|
WORD FAR PASCAL GetWindowWord(HWND, int);
|
||
|
WORD FAR PASCAL SetWindowWord(HWND, int, WORD);
|
||
|
LONG FAR PASCAL GetWindowLong(HWND, int);
|
||
|
LONG FAR PASCAL SetWindowLong(HWND, int, LONG);
|
||
|
WORD FAR PASCAL GetClassWord(HWND, int);
|
||
|
WORD FAR PASCAL SetClassWord(HWND, int, WORD);
|
||
|
LONG FAR PASCAL GetClassLong(HWND, int);
|
||
|
LONG FAR PASCAL SetClassLong(HWND, int, LONG);
|
||
|
HWND FAR PASCAL GetDesktopHwnd(void);
|
||
|
HWND FAR PASCAL GetDesktopWindow(void);
|
||
|
|
||
|
#endif /* NOWINOFFSETS */
|
||
|
|
||
|
HWND FAR PASCAL GetParent(HWND);
|
||
|
HWND FAR PASCAL SetParent(HWND, HWND);
|
||
|
BOOL FAR PASCAL EnumChildWindows(HWND, FARPROC, LONG);
|
||
|
HWND FAR PASCAL FindWindow(LPSTR, LPSTR);
|
||
|
BOOL FAR PASCAL EnumWindows(FARPROC, LONG);
|
||
|
BOOL FAR PASCAL EnumTaskWindows(HANDLE, FARPROC, LONG);
|
||
|
int FAR PASCAL GetClassName(HWND, LPSTR, int);
|
||
|
HWND FAR PASCAL GetTopWindow(HWND);
|
||
|
HWND FAR PASCAL GetNextWindow(HWND, WORD);
|
||
|
HANDLE FAR PASCAL GetWindowTask(HWND);
|
||
|
HWND FAR PASCAL GetLastActivePopup(HWND);
|
||
|
|
||
|
/* GetWindow() Constants */
|
||
|
#define GW_HWNDFIRST 0
|
||
|
#define GW_HWNDLAST 1
|
||
|
#define GW_HWNDNEXT 2
|
||
|
#define GW_HWNDPREV 3
|
||
|
#define GW_OWNER 4
|
||
|
#define GW_CHILD 5
|
||
|
|
||
|
HWND FAR PASCAL GetWindow(HWND, WORD);
|
||
|
|
||
|
#ifndef NOWH
|
||
|
FARPROC FAR PASCAL SetWindowsHook(int, FARPROC);
|
||
|
BOOL FAR PASCAL UnhookWindowsHook(int, FARPROC);
|
||
|
DWORD FAR PASCAL DefHookProc(int, WORD, DWORD, FARPROC FAR *);
|
||
|
#endif
|
||
|
|
||
|
#ifndef NOMENUS
|
||
|
|
||
|
/* Menu flags for Add/Check/EnableMenuItem() */
|
||
|
#define MF_INSERT 0x0000
|
||
|
#define MF_CHANGE 0x0080
|
||
|
#define MF_APPEND 0x0100
|
||
|
#define MF_DELETE 0x0200
|
||
|
#define MF_REMOVE 0x1000
|
||
|
|
||
|
#define MF_BYCOMMAND 0x0000
|
||
|
#define MF_BYPOSITION 0x0400
|
||
|
|
||
|
|
||
|
#define MF_SEPARATOR 0x0800
|
||
|
|
||
|
#define MF_ENABLED 0x0000
|
||
|
#define MF_GRAYED 0x0001
|
||
|
#define MF_DISABLED 0x0002
|
||
|
|
||
|
#define MF_UNCHECKED 0x0000
|
||
|
#define MF_CHECKED 0x0008
|
||
|
#define MF_USECHECKBITMAPS 0x0200
|
||
|
|
||
|
#define MF_STRING 0x0000
|
||
|
#define MF_BITMAP 0x0004
|
||
|
#define MF_OWNERDRAW 0x0100
|
||
|
|
||
|
#define MF_POPUP 0x0010
|
||
|
#define MF_MENUBARBREAK 0x0020
|
||
|
#define MF_MENUBREAK 0x0040
|
||
|
|
||
|
#define MF_UNHILITE 0x0000
|
||
|
#define MF_HILITE 0x0080
|
||
|
|
||
|
#define MF_SYSMENU 0x2000
|
||
|
#define MF_HELP 0x4000
|
||
|
#define MF_MOUSESELECT 0x8000
|
||
|
|
||
|
/* Menu item resource format */
|
||
|
typedef struct
|
||
|
{
|
||
|
WORD versionNumber;
|
||
|
WORD offset;
|
||
|
} MENUITEMTEMPLATEHEADER;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
WORD mtOption;
|
||
|
WORD mtID;
|
||
|
char mtString[1];
|
||
|
} MENUITEMTEMPLATE;
|
||
|
|
||
|
#define MF_END 0x0080
|
||
|
|
||
|
#endif /* NOMENUS */
|
||
|
|
||
|
#ifndef NOSYSCOMMANDS
|
||
|
|
||
|
/* System Menu Command Values */
|
||
|
#define SC_SIZE 0xF000
|
||
|
#define SC_MOVE 0xF010
|
||
|
#define SC_MINIMIZE 0xF020
|
||
|
#define SC_MAXIMIZE 0xF030
|
||
|
#define SC_NEXTWINDOW 0xF040
|
||
|
#define SC_PREVWINDOW 0xF050
|
||
|
#define SC_CLOSE 0xF060
|
||
|
#define SC_VSCROLL 0xF070
|
||
|
#define SC_HSCROLL 0xF080
|
||
|
#define SC_MOUSEMENU 0xF090
|
||
|
#define SC_KEYMENU 0xF100
|
||
|
#define SC_ARRANGE 0xF110
|
||
|
#define SC_RESTORE 0xF120
|
||
|
#define SC_TASKLIST 0xF130
|
||
|
|
||
|
#define SC_ICON SC_MINIMIZE
|
||
|
#define SC_ZOOM SC_MAXIMIZE
|
||
|
|
||
|
#endif /* NOSYSCOMMANDS */
|
||
|
|
||
|
/* Resource Loading Routines */
|
||
|
HBITMAP FAR PASCAL LoadBitmap(HANDLE, LPSTR);
|
||
|
HCURSOR FAR PASCAL LoadCursor(HANDLE, LPSTR);
|
||
|
HCURSOR FAR PASCAL CreateCursor(HANDLE, int, int, int, int, LPSTR, LPSTR);
|
||
|
BOOL FAR PASCAL DestroyCursor(HCURSOR);
|
||
|
|
||
|
/* Standard Cursor IDs */
|
||
|
#define IDC_ARROW MAKEINTRESOURCE(32512)
|
||
|
#define IDC_IBEAM MAKEINTRESOURCE(32513)
|
||
|
#define IDC_WAIT MAKEINTRESOURCE(32514)
|
||
|
#define IDC_CROSS MAKEINTRESOURCE(32515)
|
||
|
#define IDC_UPARROW MAKEINTRESOURCE(32516)
|
||
|
#define IDC_SIZE MAKEINTRESOURCE(32640)
|
||
|
#define IDC_ICON MAKEINTRESOURCE(32641)
|
||
|
#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
|
||
|
#define IDC_SIZENESW MAKEINTRESOURCE(32643)
|
||
|
#define IDC_SIZEWE MAKEINTRESOURCE(32644)
|
||
|
#define IDC_SIZENS MAKEINTRESOURCE(32645)
|
||
|
|
||
|
HICON FAR PASCAL LoadIcon(HANDLE, LPSTR);
|
||
|
HICON FAR PASCAL CreateIcon(HANDLE, int, int, BYTE, BYTE, LPSTR, LPSTR);
|
||
|
BOOL FAR PASCAL DestroyIcon(HICON);
|
||
|
|
||
|
|
||
|
#define ORD_LANGDRIVER 1 /* The ordinal number for the entry point of
|
||
|
** language drivers.
|
||
|
*/
|
||
|
|
||
|
#ifndef NOICONS
|
||
|
|
||
|
/* Standard Icon IDs */
|
||
|
#define IDI_APPLICATION MAKEINTRESOURCE(32512)
|
||
|
#define IDI_HAND MAKEINTRESOURCE(32513)
|
||
|
#define IDI_QUESTION MAKEINTRESOURCE(32514)
|
||
|
#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
|
||
|
#define IDI_ASTERISK MAKEINTRESOURCE(32516)
|
||
|
|
||
|
#endif /* NOICONS */
|
||
|
|
||
|
int FAR PASCAL LoadString(HANDLE, WORD, LPSTR, int);
|
||
|
|
||
|
int FAR PASCAL AddFontResource(LPSTR);
|
||
|
BOOL FAR PASCAL RemoveFontResource(LPSTR);
|
||
|
|
||
|
#ifndef NOKANJI
|
||
|
|
||
|
#define CP_HWND 0
|
||
|
#define CP_OPEN 1
|
||
|
#define CP_DIRECT 2
|
||
|
|
||
|
/* VK from the keyboard driver */
|
||
|
#define VK_KANA 0x15
|
||
|
#define VK_ROMAJI 0x16
|
||
|
#define VK_ZENKAKU 0x17
|
||
|
#define VK_HIRAGANA 0x18
|
||
|
#define VK_KANJI 0x19
|
||
|
|
||
|
/* VK to send to Applications */
|
||
|
#define VK_CONVERT 0x1C
|
||
|
#define VK_NONCONVERT 0x1D
|
||
|
#define VK_ACCEPT 0x1E
|
||
|
#define VK_MODECHANGE 0x1F
|
||
|
|
||
|
/* Conversion function numbers */
|
||
|
#define KNJ_START 0x01
|
||
|
#define KNJ_END 0x02
|
||
|
#define KNJ_QUERY 0x03
|
||
|
|
||
|
#define KNJ_LEARN_MODE 0x10
|
||
|
#define KNJ_GETMODE 0x11
|
||
|
#define KNJ_SETMODE 0x12
|
||
|
|
||
|
#define KNJ_CODECONVERT 0x20
|
||
|
#define KNJ_CONVERT 0x21
|
||
|
#define KNJ_NEXT 0x22
|
||
|
#define KNJ_PREVIOUS 0x23
|
||
|
#define KNJ_ACCEPT 0x24
|
||
|
|
||
|
#define KNJ_LEARN 0x30
|
||
|
#define KNJ_REGISTER 0x31
|
||
|
#define KNJ_REMOVE 0x32
|
||
|
#define KNJ_CHANGE_UDIC 0x33
|
||
|
|
||
|
/* NOTE: DEFAULT = 0
|
||
|
* JIS1 = 1
|
||
|
* JIS2 = 2
|
||
|
* SJIS2 = 3
|
||
|
* JIS1KATAKANA = 4
|
||
|
* SJIS2HIRAGANA = 5
|
||
|
* SJIS2KATAKANA = 6
|
||
|
* OEM = F
|
||
|
*/
|
||
|
|
||
|
#define KNJ_JIS1toJIS1KATAKANA 0x14
|
||
|
#define KNJ_JIS1toSJIS2 0x13
|
||
|
#define KNJ_JIS1toSJIS2HIRAGANA 0x15
|
||
|
#define KNJ_JIS1toSJIS2KATAKANA 0x16
|
||
|
#define KNJ_JIS1toDEFAULT 0x10
|
||
|
#define KNJ_JIS1toSJIS2OEM 0x1F
|
||
|
#define KNJ_JIS2toSJIS2 0x23
|
||
|
#define KNJ_SJIS2toJIS2 0x32
|
||
|
|
||
|
#define KNJ_MD_ALPHA 0x01
|
||
|
#define KNJ_MD_HIRAGANA 0x02
|
||
|
#define KNJ_MD_HALF 0x04
|
||
|
#define KNJ_MD_JIS 0x08
|
||
|
#define KNJ_MD_SPECIAL 0x10
|
||
|
|
||
|
#define KNJ_CVT_NEXT 0x01
|
||
|
#define KNJ_CVT_PREV 0x02
|
||
|
#define KNJ_CVT_KATAKANA 0x03
|
||
|
#define KNJ_CVT_HIRAGANA 0x04
|
||
|
#define KNJ_CVT_JIS1 0x05
|
||
|
#define KNJ_CVT_SJIS2 0x06
|
||
|
#define KNJ_CVT_DEFAULT 0x07
|
||
|
#define KNJ_CVT_TYPED 0x08
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
int fnc;
|
||
|
int wParam;
|
||
|
LPSTR lpSource;
|
||
|
LPSTR lpDest;
|
||
|
int wCount;
|
||
|
LPSTR lpReserved1;
|
||
|
LPSTR lpReserved2;
|
||
|
} KANJISTRUCT, FAR *LPKANJISTRUCT;
|
||
|
|
||
|
int FAR PASCAL ConvertRequest(HWND, LPKANJISTRUCT);
|
||
|
BOOL FAR PASCAL SetConvertParams(int, int);
|
||
|
VOID FAR PASCAL SetConvertHook(BOOL);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
/* Key Conversion Window */
|
||
|
BOOL FAR PASCAL IsTwoByteCharPrefix(char);
|
||
|
|
||
|
/* Dialog Box Command IDs */
|
||
|
#define IDOK 1
|
||
|
#define IDCANCEL 2
|
||
|
#define IDABORT 3
|
||
|
#define IDRETRY 4
|
||
|
#define IDIGNORE 5
|
||
|
#define IDYES 6
|
||
|
#define IDNO 7
|
||
|
|
||
|
#ifndef NOCTLMGR
|
||
|
|
||
|
/* Control Manager Structures and Definitions */
|
||
|
|
||
|
#ifndef NOWINSTYLES
|
||
|
|
||
|
/* Edit Control Styles */
|
||
|
#define ES_LEFT 0x0000L
|
||
|
#define ES_CENTER 0x0001L
|
||
|
#define ES_RIGHT 0x0002L
|
||
|
#define ES_MULTILINE 0x0004L
|
||
|
#define ES_UPPERCASE 0x0008L
|
||
|
#define ES_LOWERCASE 0x0010L
|
||
|
#define ES_PASSWORD 0x0020L
|
||
|
#define ES_AUTOVSCROLL 0x0040L
|
||
|
#define ES_AUTOHSCROLL 0x0080L
|
||
|
#define ES_NOHIDESEL 0x0100L
|
||
|
#define ES_OEMCONVERT 0x0400L
|
||
|
|
||
|
|
||
|
#endif /* NOWINSTYLES */
|
||
|
|
||
|
/* Edit Control Notification Codes */
|
||
|
#define EN_SETFOCUS 0x0100
|
||
|
#define EN_KILLFOCUS 0x0200
|
||
|
#define EN_CHANGE 0x0300
|
||
|
#define EN_UPDATE 0x0400
|
||
|
#define EN_ERRSPACE 0x0500
|
||
|
#define EN_MAXTEXT 0x0501
|
||
|
#define EN_HSCROLL 0x0601
|
||
|
#define EN_VSCROLL 0x0602
|
||
|
|
||
|
#ifndef NOWINMESSAGES
|
||
|
|
||
|
/* Edit Control Messages */
|
||
|
#define EM_GETSEL (WM_USER+0)
|
||
|
#define EM_SETSEL (WM_USER+1)
|
||
|
#define EM_GETRECT (WM_USER+2)
|
||
|
#define EM_SETRECT (WM_USER+3)
|
||
|
#define EM_SETRECTNP (WM_USER+4)
|
||
|
#define EM_SCROLL (WM_USER+5)
|
||
|
#define EM_LINESCROLL (WM_USER+6)
|
||
|
#define EM_GETMODIFY (WM_USER+8)
|
||
|
#define EM_SETMODIFY (WM_USER+9)
|
||
|
#define EM_GETLINECOUNT (WM_USER+10)
|
||
|
#define EM_LINEINDEX (WM_USER+11)
|
||
|
#define EM_SETHANDLE (WM_USER+12)
|
||
|
#define EM_GETHANDLE (WM_USER+13)
|
||
|
#define EM_GETTHUMB (WM_USER+14)
|
||
|
#define EM_LINELENGTH (WM_USER+17)
|
||
|
#define EM_REPLACESEL (WM_USER+18)
|
||
|
#define EM_SETFONT (WM_USER+19)
|
||
|
#define EM_GETLINE (WM_USER+20)
|
||
|
#define EM_LIMITTEXT (WM_USER+21)
|
||
|
#define EM_CANUNDO (WM_USER+22)
|
||
|
#define EM_UNDO (WM_USER+23)
|
||
|
#define EM_FMTLINES (WM_USER+24)
|
||
|
#define EM_LINEFROMCHAR (WM_USER+25)
|
||
|
#define EM_SETWORDBREAK (WM_USER+26)
|
||
|
#define EM_SETTABSTOPS (WM_USER+27)
|
||
|
#define EM_SETPASSWORDCHAR (WM_USER+28)
|
||
|
#define EM_EMPTYUNDOBUFFER (WM_USER+29)
|
||
|
#define EM_MSGMAX (WM_USER+30)
|
||
|
|
||
|
#endif /* NOWINMESSAGES */
|
||
|
|
||
|
/* Button Control Styles */
|
||
|
#define BS_PUSHBUTTON 0x00L
|
||
|
#define BS_DEFPUSHBUTTON 0x01L
|
||
|
#define BS_CHECKBOX 0x02L
|
||
|
#define BS_AUTOCHECKBOX 0x03L
|
||
|
#define BS_RADIOBUTTON 0x04L
|
||
|
#define BS_3STATE 0x05L
|
||
|
#define BS_AUTO3STATE 0x06L
|
||
|
#define BS_GROUPBOX 0x07L
|
||
|
#define BS_USERBUTTON 0x08L
|
||
|
#define BS_AUTORADIOBUTTON 0x09L
|
||
|
#define BS_PUSHBOX 0x0AL
|
||
|
#define BS_OWNERDRAW 0x0BL
|
||
|
#define BS_LEFTTEXT 0x20L
|
||
|
|
||
|
|
||
|
/* User Button Notification Codes */
|
||
|
#define BN_CLICKED 0
|
||
|
#define BN_PAINT 1
|
||
|
#define BN_HILITE 2
|
||
|
#define BN_UNHILITE 3
|
||
|
#define BN_DISABLE 4
|
||
|
#define BN_DOUBLECLICKED 5
|
||
|
|
||
|
/* Button Control Messages */
|
||
|
#define BM_GETCHECK (WM_USER+0)
|
||
|
#define BM_SETCHECK (WM_USER+1)
|
||
|
#define BM_GETSTATE (WM_USER+2)
|
||
|
#define BM_SETSTATE (WM_USER+3)
|
||
|
#define BM_SETSTYLE (WM_USER+4)
|
||
|
|
||
|
/* Static Control Constants */
|
||
|
#define SS_LEFT 0x00L
|
||
|
#define SS_CENTER 0x01L
|
||
|
#define SS_RIGHT 0x02L
|
||
|
#define SS_ICON 0x03L
|
||
|
#define SS_BLACKRECT 0x04L
|
||
|
#define SS_GRAYRECT 0x05L
|
||
|
#define SS_WHITERECT 0x06L
|
||
|
#define SS_BLACKFRAME 0x07L
|
||
|
#define SS_GRAYFRAME 0x08L
|
||
|
#define SS_WHITEFRAME 0x09L
|
||
|
#define SS_USERITEM 0x0AL
|
||
|
#define SS_SIMPLE 0x0BL
|
||
|
#define SS_LEFTNOWORDWRAP 0x0CL
|
||
|
#define SS_NOPREFIX 0x80L /* Don't do "&" character translation */
|
||
|
|
||
|
/* Dialog Manager Routines */
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
BOOL FAR PASCAL IsDialogMessage(HWND, LPMSG);
|
||
|
#endif
|
||
|
|
||
|
void FAR PASCAL MapDialogRect(HWND, LPRECT);
|
||
|
|
||
|
int FAR PASCAL DlgDirList(HWND, LPSTR, int, int, WORD);
|
||
|
BOOL FAR PASCAL DlgDirSelect(HWND, LPSTR, int);
|
||
|
int FAR PASCAL DlgDirListComboBox(HWND, LPSTR, int, int, WORD);
|
||
|
BOOL FAR PASCAL DlgDirSelectComboBox(HWND, LPSTR, int);
|
||
|
|
||
|
|
||
|
/* Dialog Styles */
|
||
|
#define DS_ABSALIGN 0x01L
|
||
|
#define DS_SYSMODAL 0x02L
|
||
|
#define DS_LOCALEDIT 0x20L /* Edit items get Local storage. */
|
||
|
#define DS_SETFONT 0x40L /* User specified font for Dlg controls */
|
||
|
#define DS_MODALFRAME 0x80L /* Can be combined with WS_CAPTION */
|
||
|
#define DS_NOIDLEMSG 0x100L /* WM_ENTERIDLE message will not be sent */
|
||
|
|
||
|
#define DM_GETDEFID (WM_USER+0)
|
||
|
#define DM_SETDEFID (WM_USER+1)
|
||
|
#define DC_HASDEFID 0x534B
|
||
|
|
||
|
/* Dialog Codes */
|
||
|
#define DLGC_WANTARROWS 0x0001 /* Control wants arrow keys */
|
||
|
#define DLGC_WANTTAB 0x0002 /* Control wants tab keys */
|
||
|
#define DLGC_WANTALLKEYS 0x0004 /* Control wants all keys */
|
||
|
#define DLGC_WANTMESSAGE 0x0004 /* Pass message to control */
|
||
|
#define DLGC_HASSETSEL 0x0008 /* Understands EM_SETSEL message */
|
||
|
#define DLGC_DEFPUSHBUTTON 0x0010 /* Default pushbutton */
|
||
|
#define DLGC_UNDEFPUSHBUTTON 0x0020 /* Non-default pushbutton */
|
||
|
#define DLGC_RADIOBUTTON 0x0040 /* Radio button */
|
||
|
#define DLGC_WANTCHARS 0x0080 /* Want WM_CHAR messages */
|
||
|
#define DLGC_STATIC 0x0100 /* Static item: don't include */
|
||
|
#define DLGC_BUTTON 0x2000 /* Button item: can be checked */
|
||
|
|
||
|
#define LB_CTLCODE 0L
|
||
|
|
||
|
/* Listbox Return Values */
|
||
|
#define LB_OKAY 0
|
||
|
#define LB_ERR (-1)
|
||
|
#define LB_ERRSPACE (-2)
|
||
|
|
||
|
/*
|
||
|
** The idStaticPath parameter to DlgDirList can have the following values
|
||
|
** ORed if the list box should show other details of the files along with
|
||
|
** the name of the files;
|
||
|
*/
|
||
|
/* all other details also will be returned */
|
||
|
|
||
|
|
||
|
/* Listbox Notification Codes */
|
||
|
#define LBN_ERRSPACE (-2)
|
||
|
#define LBN_SELCHANGE 1
|
||
|
#define LBN_DBLCLK 2
|
||
|
#define LBN_SELCANCEL 3
|
||
|
#define LBN_SETFOCUS 4
|
||
|
#define LBN_KILLFOCUS 5
|
||
|
|
||
|
|
||
|
|
||
|
#ifndef NOWINMESSAGES
|
||
|
|
||
|
/* Listbox messages */
|
||
|
#define LB_ADDSTRING (WM_USER+1)
|
||
|
#define LB_INSERTSTRING (WM_USER+2)
|
||
|
#define LB_DELETESTRING (WM_USER+3)
|
||
|
#define LB_RESETCONTENT (WM_USER+5)
|
||
|
#define LB_SETSEL (WM_USER+6)
|
||
|
#define LB_SETCURSEL (WM_USER+7)
|
||
|
#define LB_GETSEL (WM_USER+8)
|
||
|
#define LB_GETCURSEL (WM_USER+9)
|
||
|
#define LB_GETTEXT (WM_USER+10)
|
||
|
#define LB_GETTEXTLEN (WM_USER+11)
|
||
|
#define LB_GETCOUNT (WM_USER+12)
|
||
|
#define LB_SELECTSTRING (WM_USER+13)
|
||
|
#define LB_DIR (WM_USER+14)
|
||
|
#define LB_GETTOPINDEX (WM_USER+15)
|
||
|
#define LB_FINDSTRING (WM_USER+16)
|
||
|
#define LB_GETSELCOUNT (WM_USER+17)
|
||
|
#define LB_GETSELITEMS (WM_USER+18)
|
||
|
#define LB_SETTABSTOPS (WM_USER+19)
|
||
|
#define LB_GETHORIZONTALEXTENT (WM_USER+20)
|
||
|
#define LB_SETHORIZONTALEXTENT (WM_USER+21)
|
||
|
#define LB_SETCOLUMNWIDTH (WM_USER+22)
|
||
|
#define LB_SETTOPINDEX (WM_USER+24)
|
||
|
#define LB_GETITEMRECT (WM_USER+25)
|
||
|
#define LB_GETITEMDATA (WM_USER+26)
|
||
|
#define LB_SETITEMDATA (WM_USER+27)
|
||
|
#define LB_SELITEMRANGE (WM_USER+28)
|
||
|
#define LB_MSGMAX (WM_USER+33)
|
||
|
|
||
|
#endif /* NOWINMESSAGES */
|
||
|
|
||
|
#ifndef NOWINSTYLES
|
||
|
|
||
|
/* Listbox Styles */
|
||
|
#define LBS_NOTIFY 0x0001L
|
||
|
#define LBS_SORT 0x0002L
|
||
|
#define LBS_NOREDRAW 0x0004L
|
||
|
#define LBS_MULTIPLESEL 0x0008L
|
||
|
#define LBS_OWNERDRAWFIXED 0x0010L
|
||
|
#define LBS_OWNERDRAWVARIABLE 0x0020L
|
||
|
#define LBS_HASSTRINGS 0x0040L
|
||
|
#define LBS_USETABSTOPS 0x0080L
|
||
|
#define LBS_NOINTEGRALHEIGHT 0x0100L
|
||
|
#define LBS_MULTICOLUMN 0x0200L
|
||
|
#define LBS_WANTKEYBOARDINPUT 0x0400L
|
||
|
#define LBS_EXTENDEDSEL 0x0800L
|
||
|
#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
|
||
|
|
||
|
#endif /* NOWINSTYLES */
|
||
|
|
||
|
|
||
|
/* Combo Box return Values */
|
||
|
#define CB_OKAY 0
|
||
|
#define CB_ERR (-1)
|
||
|
#define CB_ERRSPACE (-2)
|
||
|
|
||
|
|
||
|
/* Combo Box Notification Codes */
|
||
|
#define CBN_ERRSPACE (-1)
|
||
|
#define CBN_SELCHANGE 1
|
||
|
#define CBN_DBLCLK 2
|
||
|
#define CBN_SETFOCUS 3
|
||
|
#define CBN_KILLFOCUS 4
|
||
|
#define CBN_EDITCHANGE 5
|
||
|
#define CBN_EDITUPDATE 6
|
||
|
#define CBN_DROPDOWN 7
|
||
|
|
||
|
/* Combo Box styles */
|
||
|
#ifndef NOWINSTYLES
|
||
|
#define CBS_SIMPLE 0x0001L
|
||
|
#define CBS_DROPDOWN 0x0002L
|
||
|
#define CBS_DROPDOWNLIST 0x0003L
|
||
|
#define CBS_OWNERDRAWFIXED 0x0010L
|
||
|
#define CBS_OWNERDRAWVARIABLE 0x0020L
|
||
|
#define CBS_AUTOHSCROLL 0x0040L
|
||
|
#define CBS_OEMCONVERT 0x0080L
|
||
|
#define CBS_SORT 0x0100L
|
||
|
#define CBS_HASSTRINGS 0x0200L
|
||
|
#define CBS_NOINTEGRALHEIGHT 0x0400L
|
||
|
#endif /* NOWINSTYLES */
|
||
|
|
||
|
|
||
|
/* Combo Box messages */
|
||
|
#ifndef NOWINMESSAGES
|
||
|
#define CB_GETEDITSEL (WM_USER+0)
|
||
|
#define CB_LIMITTEXT (WM_USER+1)
|
||
|
#define CB_SETEDITSEL (WM_USER+2)
|
||
|
#define CB_ADDSTRING (WM_USER+3)
|
||
|
#define CB_DELETESTRING (WM_USER+4)
|
||
|
#define CB_DIR (WM_USER+5)
|
||
|
#define CB_GETCOUNT (WM_USER+6)
|
||
|
#define CB_GETCURSEL (WM_USER+7)
|
||
|
#define CB_GETLBTEXT (WM_USER+8)
|
||
|
#define CB_GETLBTEXTLEN (WM_USER+9)
|
||
|
#define CB_INSERTSTRING (WM_USER+10)
|
||
|
#define CB_RESETCONTENT (WM_USER+11)
|
||
|
#define CB_FINDSTRING (WM_USER+12)
|
||
|
#define CB_SELECTSTRING (WM_USER+13)
|
||
|
#define CB_SETCURSEL (WM_USER+14)
|
||
|
#define CB_SHOWDROPDOWN (WM_USER+15)
|
||
|
#define CB_GETITEMDATA (WM_USER+16)
|
||
|
#define CB_SETITEMDATA (WM_USER+17)
|
||
|
#define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
|
||
|
#define CB_MSGMAX (WM_USER+19)
|
||
|
#endif /* NOWINMESSAGES */
|
||
|
|
||
|
|
||
|
|
||
|
#ifndef NOWINSTYLES
|
||
|
|
||
|
/* Scroll Bar Styles */
|
||
|
#define SBS_HORZ 0x0000L
|
||
|
#define SBS_VERT 0x0001L
|
||
|
#define SBS_TOPALIGN 0x0002L
|
||
|
#define SBS_LEFTALIGN 0x0002L
|
||
|
#define SBS_BOTTOMALIGN 0x0004L
|
||
|
#define SBS_RIGHTALIGN 0x0004L
|
||
|
#define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
|
||
|
#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
|
||
|
#define SBS_SIZEBOX 0x0008L
|
||
|
|
||
|
#endif /* NOWINSTYLES */
|
||
|
|
||
|
#endif /* NOCTLMGR */
|
||
|
|
||
|
#ifndef NOSOUND
|
||
|
|
||
|
int FAR PASCAL OpenSound(void);
|
||
|
void FAR PASCAL CloseSound(void);
|
||
|
int FAR PASCAL SetVoiceQueueSize(int, int);
|
||
|
int FAR PASCAL SetVoiceNote(int, int, int, int);
|
||
|
int FAR PASCAL SetVoiceAccent(int, int, int, int, int);
|
||
|
int FAR PASCAL SetVoiceEnvelope(int, int, int);
|
||
|
int FAR PASCAL SetSoundNoise(int, int);
|
||
|
int FAR PASCAL SetVoiceSound(int, LONG, int);
|
||
|
int FAR PASCAL StartSound(void);
|
||
|
int FAR PASCAL StopSound(void);
|
||
|
int FAR PASCAL WaitSoundState(int);
|
||
|
int FAR PASCAL SyncAllVoices(void);
|
||
|
int FAR PASCAL CountVoiceNotes(int);
|
||
|
LPINT FAR PASCAL GetThresholdEvent(void);
|
||
|
int FAR PASCAL GetThresholdStatus(void);
|
||
|
int FAR PASCAL SetVoiceThreshold(int, int);
|
||
|
|
||
|
/* WaitSoundState() Constants */
|
||
|
#define S_QUEUEEMPTY 0
|
||
|
#define S_THRESHOLD 1
|
||
|
#define S_ALLTHRESHOLD 2
|
||
|
|
||
|
/* Accent Modes */
|
||
|
#define S_NORMAL 0
|
||
|
#define S_LEGATO 1
|
||
|
#define S_STACCATO 2
|
||
|
|
||
|
/* SetSoundNoise() Sources */
|
||
|
#define S_PERIOD512 0 /* Freq = N/512 high pitch, less coarse hiss */
|
||
|
#define S_PERIOD1024 1 /* Freq = N/1024 */
|
||
|
#define S_PERIOD2048 2 /* Freq = N/2048 low pitch, more coarse hiss */
|
||
|
#define S_PERIODVOICE 3 /* Source is frequency from voice channel (3) */
|
||
|
#define S_WHITE512 4 /* Freq = N/512 high pitch, less coarse hiss */
|
||
|
#define S_WHITE1024 5 /* Freq = N/1024 */
|
||
|
#define S_WHITE2048 6 /* Freq = N/2048 low pitch, more coarse hiss */
|
||
|
#define S_WHITEVOICE 7 /* Source is frequency from voice channel (3) */
|
||
|
|
||
|
#define S_SERDVNA (-1) /* Device not available */
|
||
|
#define S_SEROFM (-2) /* Out of memory */
|
||
|
#define S_SERMACT (-3) /* Music active */
|
||
|
#define S_SERQFUL (-4) /* Queue full */
|
||
|
#define S_SERBDNT (-5) /* Invalid note */
|
||
|
#define S_SERDLN (-6) /* Invalid note length */
|
||
|
#define S_SERDCC (-7) /* Invalid note count */
|
||
|
#define S_SERDTP (-8) /* Invalid tempo */
|
||
|
#define S_SERDVL (-9) /* Invalid volume */
|
||
|
#define S_SERDMD (-10) /* Invalid mode */
|
||
|
#define S_SERDSH (-11) /* Invalid shape */
|
||
|
#define S_SERDPT (-12) /* Invalid pitch */
|
||
|
#define S_SERDFQ (-13) /* Invalid frequency */
|
||
|
#define S_SERDDR (-14) /* Invalid duration */
|
||
|
#define S_SERDSR (-15) /* Invalid source */
|
||
|
#define S_SERDST (-16) /* Invalid state */
|
||
|
|
||
|
#endif /* NOSOUND */
|
||
|
|
||
|
#ifndef NOCOMM
|
||
|
|
||
|
#define NOPARITY 0
|
||
|
#define ODDPARITY 1
|
||
|
#define EVENPARITY 2
|
||
|
#define MARKPARITY 3
|
||
|
#define SPACEPARITY 4
|
||
|
|
||
|
#define ONESTOPBIT 0
|
||
|
#define ONE5STOPBITS 1
|
||
|
#define TWOSTOPBITS 2
|
||
|
|
||
|
#define IGNORE 0 /* Ignore signal */
|
||
|
#define INFINITE 0xFFFF /* Infinite timeout */
|
||
|
|
||
|
/* Error Flags */
|
||
|
#define CE_RXOVER 0x0001 /* Receive Queue overflow */
|
||
|
#define CE_OVERRUN 0x0002 /* Receive Overrun Error */
|
||
|
#define CE_RXPARITY 0x0004 /* Receive Parity Error */
|
||
|
#define CE_FRAME 0x0008 /* Receive Framing error */
|
||
|
#define CE_BREAK 0x0010 /* Break Detected */
|
||
|
#define CE_CTSTO 0x0020 /* CTS Timeout */
|
||
|
#define CE_DSRTO 0x0040 /* DSR Timeout */
|
||
|
#define CE_RLSDTO 0x0080 /* RLSD Timeout */
|
||
|
#define CE_TXFULL 0x0100 /* TX Queue is full */
|
||
|
#define CE_PTO 0x0200 /* LPTx Timeout */
|
||
|
#define CE_IOE 0x0400 /* LPTx I/O Error */
|
||
|
#define CE_DNS 0x0800 /* LPTx Device not selected */
|
||
|
#define CE_OOP 0x1000 /* LPTx Out-Of-Paper */
|
||
|
#define CE_MODE 0x8000 /* Requested mode unsupported */
|
||
|
|
||
|
#define IE_BADID (-1) /* Invalid or unsupported id */
|
||
|
#define IE_OPEN (-2) /* Device Already Open */
|
||
|
#define IE_NOPEN (-3) /* Device Not Open */
|
||
|
#define IE_MEMORY (-4) /* Unable to allocate queues */
|
||
|
#define IE_DEFAULT (-5) /* Error in default parameters */
|
||
|
#define IE_HARDWARE (-10) /* Hardware Not Present */
|
||
|
#define IE_BYTESIZE (-11) /* Illegal Byte Size */
|
||
|
#define IE_BAUDRATE (-12) /* Unsupported BaudRate */
|
||
|
|
||
|
/* Events */
|
||
|
#define EV_RXCHAR 0x0001 /* Any Character received */
|
||
|
#define EV_RXFLAG 0x0002 /* Received certain character */
|
||
|
#define EV_TXEMPTY 0x0004 /* Transmitt Queue Empty */
|
||
|
#define EV_CTS 0x0008 /* CTS changed state */
|
||
|
#define EV_DSR 0x0010 /* DSR changed state */
|
||
|
#define EV_RLSD 0x0020 /* RLSD changed state */
|
||
|
#define EV_BREAK 0x0040 /* BREAK received */
|
||
|
#define EV_ERR 0x0080 /* Line status error occurred */
|
||
|
#define EV_RING 0x0100 /* Ring signal detected */
|
||
|
#define EV_PERR 0x0200 /* Printer error occured */
|
||
|
|
||
|
/* Escape Functions */
|
||
|
#define SETXOFF 1 /* Simulate XOFF received */
|
||
|
#define SETXON 2 /* Simulate XON received */
|
||
|
#define SETRTS 3 /* Set RTS high */
|
||
|
#define CLRRTS 4 /* Set RTS low */
|
||
|
#define SETDTR 5 /* Set DTR high */
|
||
|
#define CLRDTR 6 /* Set DTR low */
|
||
|
#define RESETDEV 7 /* Reset device if possible */
|
||
|
|
||
|
#define LPTx 0x80 /* Set if ID is for LPT device */
|
||
|
|
||
|
typedef struct tagDCB
|
||
|
{
|
||
|
BYTE Id; /* Internal Device ID */
|
||
|
WORD BaudRate; /* Baudrate at which runing */
|
||
|
BYTE ByteSize; /* Number of bits/byte, 4-8 */
|
||
|
BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */
|
||
|
BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */
|
||
|
WORD RlsTimeout; /* Timeout for RLSD to be set */
|
||
|
WORD CtsTimeout; /* Timeout for CTS to be set */
|
||
|
WORD DsrTimeout; /* Timeout for DSR to be set */
|
||
|
|
||
|
BYTE fBinary: 1; /* Binary Mode (skip EOF check */
|
||
|
BYTE fRtsDisable:1; /* Don't assert RTS at init time */
|
||
|
BYTE fParity: 1; /* Enable parity checking */
|
||
|
BYTE fOutxCtsFlow:1; /* CTS handshaking on output */
|
||
|
BYTE fOutxDsrFlow:1; /* DSR handshaking on output */
|
||
|
BYTE fDummy: 2; /* Reserved */
|
||
|
BYTE fDtrDisable:1; /* Don't assert DTR at init time */
|
||
|
|
||
|
BYTE fOutX: 1; /* Enable output X-ON/X-OFF */
|
||
|
BYTE fInX: 1; /* Enable input X-ON/X-OFF */
|
||
|
BYTE fPeChar: 1; /* Enable Parity Err Replacement */
|
||
|
BYTE fNull: 1; /* Enable Null stripping */
|
||
|
BYTE fChEvt: 1; /* Enable Rx character event. */
|
||
|
BYTE fDtrflow: 1; /* DTR handshake on input */
|
||
|
BYTE fRtsflow: 1; /* RTS handshake on input */
|
||
|
BYTE fDummy2: 1;
|
||
|
|
||
|
char XonChar; /* Tx and Rx X-ON character */
|
||
|
char XoffChar; /* Tx and Rx X-OFF character */
|
||
|
WORD XonLim; /* Transmit X-ON threshold */
|
||
|
WORD XoffLim; /* Transmit X-OFF threshold */
|
||
|
char PeChar; /* Parity error replacement char */
|
||
|
char EofChar; /* End of Input character */
|
||
|
char EvtChar; /* Recieved Event character */
|
||
|
WORD TxDelay; /* Amount of time between chars */
|
||
|
} DCB;
|
||
|
|
||
|
typedef struct tagCOMSTAT
|
||
|
{
|
||
|
BYTE fCtsHold: 1; /* Transmit is on CTS hold */
|
||
|
BYTE fDsrHold: 1; /* Transmit is on DSR hold */
|
||
|
BYTE fRlsdHold: 1; /* Transmit is on RLSD hold */
|
||
|
BYTE fXoffHold: 1; /* Received handshake */
|
||
|
BYTE fXoffSent: 1; /* Issued handshake */
|
||
|
BYTE fEof: 1; /* End of file character found */
|
||
|
BYTE fTxim: 1; /* Character being transmitted */
|
||
|
WORD cbInQue; /* count of characters in Rx Queue */
|
||
|
WORD cbOutQue; /* count of characters in Tx Queue */
|
||
|
} COMSTAT;
|
||
|
|
||
|
int FAR PASCAL OpenComm(LPSTR, WORD, WORD);
|
||
|
int FAR PASCAL SetCommState(DCB FAR *);
|
||
|
int FAR PASCAL GetCommState(int, DCB FAR *);
|
||
|
int FAR PASCAL ReadComm(int, LPSTR, int);
|
||
|
int FAR PASCAL UngetCommChar(int, char);
|
||
|
int FAR PASCAL WriteComm(int, LPSTR, int);
|
||
|
int FAR PASCAL CloseComm(int);
|
||
|
int FAR PASCAL GetCommError(int, COMSTAT FAR *);
|
||
|
int FAR PASCAL BuildCommDCB(LPSTR, DCB FAR *);
|
||
|
int FAR PASCAL TransmitCommChar(int, char);
|
||
|
WORD FAR * FAR PASCAL SetCommEventMask(int, WORD);
|
||
|
WORD FAR PASCAL GetCommEventMask(int, int);
|
||
|
int FAR PASCAL SetCommBreak(int);
|
||
|
int FAR PASCAL ClearCommBreak(int);
|
||
|
int FAR PASCAL FlushComm(int, int);
|
||
|
int FAR PASCAL EscapeCommFunction(int, int);
|
||
|
|
||
|
#endif /* NOCOMM */
|
||
|
|
||
|
#ifndef NOMDI
|
||
|
|
||
|
typedef struct tagMDICREATESTRUCT
|
||
|
{
|
||
|
LPSTR szClass;
|
||
|
LPSTR szTitle;
|
||
|
HANDLE hOwner;
|
||
|
int x,y;
|
||
|
int cx,cy;
|
||
|
LONG style;
|
||
|
LONG lParam; /* app-defined stuff */
|
||
|
} MDICREATESTRUCT;
|
||
|
|
||
|
typedef MDICREATESTRUCT FAR * LPMDICREATESTRUCT;
|
||
|
|
||
|
typedef struct tagCLIENTCREATESTRUCT
|
||
|
{
|
||
|
HANDLE hWindowMenu;
|
||
|
WORD idFirstChild;
|
||
|
} CLIENTCREATESTRUCT;
|
||
|
|
||
|
typedef CLIENTCREATESTRUCT FAR * LPCLIENTCREATESTRUCT;
|
||
|
|
||
|
LONG FAR PASCAL DefFrameProc(HWND,HWND,WORD,WORD,LONG);
|
||
|
LONG FAR PASCAL DefMDIChildProc(HWND,WORD,WORD,LONG);
|
||
|
|
||
|
#ifndef NOMSG
|
||
|
BOOL FAR PASCAL TranslateMDISysAccel(HWND,LPMSG);
|
||
|
#endif
|
||
|
|
||
|
WORD FAR PASCAL ArrangeIconicWindows(HWND);
|
||
|
|
||
|
#endif /* NOMDI */
|
||
|
|
||
|
#endif /* NOUSER */
|
||
|
|
||
|
#ifndef NOHELP
|
||
|
|
||
|
/* Help engine section. */
|
||
|
|
||
|
/* Commands to pass WinHelp() */
|
||
|
#define HELP_CONTEXT 0x0001 /* Display topic in ulTopic */
|
||
|
#define HELP_QUIT 0x0002 /* Terminate help */
|
||
|
#define HELP_INDEX 0x0003 /* Display index */
|
||
|
#define HELP_HELPONHELP 0x0004 /* Display help on using help */
|
||
|
#define HELP_SETINDEX 0x0005 /* Set the current Index for multi index help */
|
||
|
#define HELP_KEY 0x0101 /* Display topic for keyword in offabData */
|
||
|
#define HELP_MULTIKEY 0x0201
|
||
|
|
||
|
BOOL FAR PASCAL WinHelp(HWND hwndMain, LPSTR lpszHelp, WORD usCommand, DWORD ulData);
|
||
|
|
||
|
typedef struct tagMULTIKEYHELP
|
||
|
{
|
||
|
WORD mkSize;
|
||
|
BYTE mkKeylist;
|
||
|
BYTE szKeyphrase[1];
|
||
|
} MULTIKEYHELP;
|
||
|
|
||
|
#endif /* NOHELP */
|
||
|
|
||
|
#ifndef NOPROFILER
|
||
|
|
||
|
/* function declarations for profiler routines contained in Windows libraries */
|
||
|
int far pascal ProfInsChk(void);
|
||
|
void far pascal ProfSetup(int,int);
|
||
|
void far pascal ProfSampRate(int,int);
|
||
|
void far pascal ProfStart(void);
|
||
|
void far pascal ProfStop(void);
|
||
|
void far pascal ProfClear(void);
|
||
|
void far pascal ProfFlush(void);
|
||
|
void far pascal ProfFinish(void);
|
||
|
|
||
|
#endif /* NOPROFILER */
|