⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmwin.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
📖 第 1 页 / 共 4 页
字号:
LONG  APIENTRY WinQuerySysColor(HWND,LONG,LONG);
LONG  APIENTRY WinQuerySysValue(HWND,SHORT);
BOOL  APIENTRY WinRemovePresParam(HWND,ULONG);
BOOL  APIENTRY WinSetPresParam(HWND,ULONG,ULONG,PVOID);
BOOL  APIENTRY WinSetSysValue(HWND,SHORT,LONG);
BOOL  APIENTRY WinSetSysColors(HWND,ULONG,ULONG,LONG,ULONG,PLONG);

#endif

#ifdef INCL_WINACCELERATORS

#define AF_CHAR       0x0001
#define AF_VIRTUALKEY 0x0002
#define AF_SCANCODE   0x0004
#define AF_SHIFT      0x0008
#define AF_CONTROL    0x0010
#define AF_ALT        0x0020
#define AF_LONEKEY    0x0040
#define AF_SYSCOMMAND 0x0100
#define AF_HELP       0x0200

typedef LHANDLE HACCEL;

typedef struct _ACCEL {
    USHORT fs;
    USHORT key;
    USHORT cmd;
} ACCEL, FAR *PACCEL;

typedef struct _ACCELTABLE {
    USHORT cAccel;
    USHORT codepage;
    ACCEL  aaccel[1];
} ACCELTABLE, FAR *PACCELTABLE;

USHORT APIENTRY WinCopyAccelTable(HACCEL,PACCELTABLE,USHORT);
HACCEL APIENTRY WinCreateAccelTable(HAB,PACCELTABLE);
BOOL   APIENTRY WinDestroyAccelTable(HACCEL);
HACCEL APIENTRY WinLoadAccelTable(HAB,HMODULE,USHORT);
HACCEL APIENTRY WinQueryAccelTable(HAB,HWND);
BOOL   APIENTRY WinSetAccelTable(HAB,HACCEL,HWND);
BOOL   APIENTRY WinTranslateAccel(HAB,HWND,HACCEL,PQMSG);

#endif

#ifdef INCL_WINBUTTONS

#define BS_PUSHBUTTON      0
#define BS_CHECKBOX        1
#define BS_AUTOCHECKBOX    2
#define BS_RADIOBUTTON     3
#define BS_AUTORADIOBUTTON 4
#define BS_3STATE          5
#define BS_AUTO3STATE      6
#define BS_USERBUTTON      7

#define BS_HELP           0x0100
#define BS_SYSCOMMAND     0x0200
#define BS_DEFAULT        0x0400
#define BS_NOPOINTERFOCUS 0x0800
#define BS_NOBORDER       0x1000
#define BS_NOCURSORSELECT 0x2000

#define BN_CLICKED    1
#define BN_DBLCLICKED 2
#define BN_PAINT      3

#define BDS_HILITED  0x0100
#define BDS_DISABLED 0x0200
#define BDS_DEFAULT  0x0400

#define BM_CLICK           0x0120
#define BM_QUERYCHECKINDEX 0x0121
#define BM_QUERYHILITE     0x0122
#define BM_SETHILITE       0x0123
#define BM_QUERYCHECK      0x0124
#define BM_SETCHECK        0x0125
#define BM_SETDEFAULT      0x0126

#define WC_BUTTON       ((PSZ)0xffff0003L)

typedef struct _BTNCDATA {
    USHORT  cb;
    USHORT  fsCheckState;
    USHORT  fsHiliteState;
} BTNCDATA, FAR *PBTNCDATA;

typedef struct _USERBUTTON {
    HWND   hwnd;
    HPS    hps;
    USHORT fsState;
    USHORT fsStateOld;
} USERBUTTON, FAR *PUSERBUTTON;

#endif

#ifdef INCL_WINENTRYFIELDS

#define ES_LEFT        0x00000000L
#define ES_CENTER      0x00000001L
#define ES_RIGHT       0x00000002L
#define ES_AUTOSCROLL  0x00000004L
#define ES_MARGIN      0x00000008L
#define ES_AUTOTAB     0x00000010L
#define ES_READONLY    0x00000020L
#define ES_COMMAND     0x00000040L
#define ES_UNREADABLE  0x00000080L
#define ES_PICTUREMASK 0x00000100L
#define ES_ANY         0x00000000L
#define ES_SBCS        0x00001000L
#define ES_DBCS        0x00002000L
#define ES_MIXED       0x00003000L

#define CBS_SIMPLE       0x0001
#define CBS_DROPDOWN     0x0002
#define CBS_DROPDOWNLIST 0x0004

#define CBID_LIST 0x029A
#define CBID_EDIT 0x029B

#define CBM_SHOWLIST      0x0170
#define CBM_HILITE        0x0171
#define CBM_ISLISTSHOWING 0x0172

#define CBN_EFCHANGE 1
#define CBN_EFSCROLL 2
#define CBN_MEMERROR 3
#define CBN_LBSELECT 4
#define CBN_LBSCROLL 5
#define CBN_SHOWLIST 6
#define CBN_ENTER    7

#define EM_QUERYCHANGED     0x0140
#define EM_QUERYSEL         0x0141
#define EM_SETSEL           0x0142
#define EM_SETTEXTLIMIT     0x0143
#define EM_CUT              0x0144
#define EM_COPY             0x0145
#define EM_CLEAR            0x0146
#define EM_PASTE            0x0147
#define EM_QUERYFIRSTCHAR   0x0148
#define EM_SETFIRSTCHAR     0x0149
#define EM_QUERYREADONLY    0x014a
#define EM_SETREADONLY      0x014b
#define EM_SETINSERTMODE    0x014c

#define EN_SETFOCUS         0x0001
#define EN_KILLFOCUS        0x0002
#define EN_CHANGE           0x0004
#define EN_SCROLL           0x0008
#define EN_MEMERROR         0x0010
#define EN_OVERFLOW         0x0020
#define EN_INSERTMODETOGGLE 0x0040

#define WC_COMBOBOX   ((PSZ)0xffff0002L)
#define WC_ENTRYFIELD ((PSZ)0xffff0006L)

typedef struct _ENTRYFDATA {
    USHORT cb;
    USHORT cchEditLimit;
    USHORT ichMinSel;
    USHORT ichMaxSel;
} ENTRYFDATA, FAR *PENTRYFDATA;

#endif

#ifdef INCL_WINSTATICS

#define SS_TEXT          0x0001
#define SS_GROUPBOX      0x0002
#define SS_ICON          0x0003
#define SS_BITMAP        0x0004
#define SS_FGNDRECT      0x0005
#define SS_HALFTONERECT  0x0006
#define SS_BKGNDRECT     0x0007
#define SS_FGNDFRAME     0x0008
#define SS_HALFTONEFRAME 0x0009
#define SS_BKGNDFRAME    0x000a
#define SS_SYSICON       0x000b

#define SM_SETHANDLE   0x0100
#define SM_QUERYHANDLE 0x0101

#define WC_STATIC ((PSZ)0xffff0005L)

#endif

#ifdef INCL_WINSCROLLBARS

#define SBS_HORZ      0
#define SBS_VERT      1
#define SBS_THUMBSIZE 2
#define SBS_AUTOTRACK 4

#define SB_LINEUP         1
#define SB_LINEDOWN       2
#define SB_LINELEFT       1
#define SB_LINERIGHT      2
#define SB_PAGEUP         3
#define SB_PAGEDOWN       4
#define SB_PAGELEFT       3
#define SB_PAGERIGHT      4
#define SB_SLIDERTRACK    5
#define SB_SLIDERPOSITION 6
#define SB_ENDSCROLL      7

#define SBM_SETSCROLLBAR 0x01a0
#define SBM_SETPOS       0x01a1
#define SBM_QUERYPOS     0x01a2
#define SBM_QUERYRANGE   0x01a3
#define SBM_SETHILITE    0x01a4
#define SBM_QUERYHILITE  0x01a5
#define SBM_SETTHUMBSIZE 0x01a6

#define WC_SCROLLBAR ((PSZ)0xffff0008L)

typedef struct _SBCDATA {
    USHORT cb;
    USHORT sHilite;
    SHORT  posFirst;
    SHORT  posLast;
    SHORT  posThumb;
    SHORT  cVisible;
    SHORT  cTotal;
} SBCDATA, FAR *PSBCDATA;

#endif

#ifdef INCL_WINTRACKRECT

#define TF_LEFT              0x0001
#define TF_TOP               0x0002
#define TF_RIGHT             0x0004
#define TF_BOTTOM            0x0008
#define TF_MOVE              0x000F
#define TF_SETPOINTERPOS     0x0010
#define TF_GRID              0x0020
#define TF_STANDARD          0x0040
#define TF_ALLINBOUNDARY     0x0080
#define TF_VALIDATETRACKRECT 0x0100
#define TF_PARTINBOUNDARY    0x0200

typedef struct _TRACKINFO {
    SHORT  cxBorder;
    SHORT  cyBorder;
    SHORT  cxGrid;
    SHORT  cyGrid;
    SHORT  cxKeyboard;
    SHORT  cyKeyboard;
    RECTL  rclTrack;
    RECTL  rclBoundary;
    POINTL ptlMinTrackSize;
    POINTL ptlMaxTrackSize;
    USHORT fs;
} TRACKINFO, FAR *PTRACKINFO;

BOOL APIENTRY WinShowTrackRect(HWND,BOOL);
BOOL APIENTRY WinTrackRect(HWND,HPS,PTRACKINFO);

#endif

#ifdef INCL_WINRECTANGLES

BOOL APIENTRY WinCopyRect(HAB,PRECTL,PRECTL);
BOOL APIENTRY WinEqualRect(HAB,PRECTL,PRECTL);
BOOL APIENTRY WinInflateRect(HAB,PRECTL,SHORT,SHORT);
BOOL APIENTRY WinIntersectRect(HAB,PRECTL,PRECTL,PRECTL);
BOOL APIENTRY WinIsRectEmpty(HAB,PRECTL);
BOOL APIENTRY WinMakePoints(HAB,PWPOINT,USHORT);
BOOL APIENTRY WinMakeRect(HAB,PWRECT);
BOOL APIENTRY WinOffsetRect(HAB,PRECTL,SHORT,SHORT);
BOOL APIENTRY WinPtInRect(HAB,PRECTL,PPOINTL);
BOOL APIENTRY WinSetRect(HAB,PRECTL,SHORT,SHORT,SHORT,SHORT);
BOOL APIENTRY WinSetRectEmpty(HAB,PRECTL);
BOOL APIENTRY WinSubtractRect(HAB,PRECTL,PRECTL,PRECTL);
BOOL APIENTRY WinUnionRect(HAB,PRECTL,PRECTL,PRECTL);

#endif

#ifdef INCL_WINPOINTERS

#define SBMP_OLD_SYSMENU       1
#define SBMP_OLD_SBUPARROW     2
#define SBMP_OLD_SBDNARROW     3
#define SBMP_OLD_SBRGARROW     4
#define SBMP_OLD_SBLFARROW     5
#define SBMP_MENUCHECK         6
#define SBMP_CHECKBOXES        7
#define SBMP_BTNCORNERS        8
#define SBMP_OLD_MINBUTTON     9
#define SBMP_OLD_MAXBUTTON     10
#define SBMP_OLD_RESTOREBUTTON 11
#define SBMP_OLD_CHILDSYSMENU  12
#define SBMP_DRIVE             15
#define SBMP_FILE              16
#define SBMP_FOLDER            17
#define SBMP_TREEPLUS          18
#define SBMP_TREEMINUS         19
#define SBMP_PROGRAM           22
#define SBMP_MENUATTACHED      23
#define SBMP_SIZEBOX           24
#define SBMP_SYSMENU           25
#define SBMP_MINBUTTON         26
#define SBMP_MAXBUTTON         27
#define SBMP_RESTOREBUTTON     28
#define SBMP_CHILDSYSMENU      29
#define SBMP_SYSMENUDEP        30
#define SBMP_MINBUTTONDEP      31
#define SBMP_MAXBUTTONDEP      32
#define SBMP_RESTOREBUTTONDEP  33
#define SBMP_CHILDSYSMENUDEP   34
#define SBMP_SBUPARROW         35
#define SBMP_SBDNARROW         36
#define SBMP_SBLFARROW         37
#define SBMP_SBRGARROW         38
#define SBMP_SBUPARROWDEP      39
#define SBMP_SBDNARROWDEP      40
#define SBMP_SBLFARROWDEP      41
#define SBMP_SBRGARROWDEP      42
#define SBMP_SBUPARROWDIS      43
#define SBMP_SBDNARROWDIS      44
#define SBMP_SBLFARROWDIS      45
#define SBMP_SBRGARROWDIS      46
#define SBMP_COMBODOWN         47

#define SPTR_ARROW             1
#define SPTR_TEXT              2
#define SPTR_WAIT              3
#define SPTR_SIZE              4
#define SPTR_MOVE              5
#define SPTR_SIZENWSE          6
#define SPTR_SIZENESW          7
#define SPTR_SIZEWE            8
#define SPTR_SIZENS            9
#define SPTR_APPICON           10
#define SPTR_ICONINFORMATION   11
#define SPTR_ICONQUESTION      12
#define SPTR_ICONERROR         13
#define SPTR_ICONWARNING       14
#define SPTR_CPTR              14
#define SPTR_ILLEGAL           18
#define SPTR_FILE              19
#define SPTR_FOLDER            20
#define SPTR_MULTFILE          21
#define SPTR_PROGRAM           22
#define SPTR_HANDICON          SPTR_ICONERROR
#define SPTR_QUESICON          SPTR_ICONQUESTION
#define SPTR_BANGICON          SPTR_ICONWARNING
#define SPTR_NOTEICON          SPTR_ICONINFORMATION

#define DP_NORMAL    0
#define DP_HALFTONED 1
#define DP_INVERTED  2

typedef struct _POINTERINFO {
    BOOL    fPointer;
    SHORT   xHotspot;
    SHORT   yHotspot;
    HBITMAP hbmPointer;
    HBITMAP hbmColor;
} POINTERINFO, FAR *PPOINTERINFO;

HPOINTER APIENTRY WinCreatePointer(HWND,HBITMAP,BOOL,SHORT,SHORT);
HPOINTER APIENTRY WinCreatePointerIndirect(HWND,PPOINTERINFO);
BOOL     APIENTRY WinDestroyPointer(HPOINTER);
BOOL     APIENTRY WinDrawPointer(HPS,SHORT,SHORT,HPOINTER,USHORT);
HBITMAP  APIENTRY WinGetSysBitmap(HWND,USHORT);
HPOINTER APIENTRY WinLoadPointer(HWND,HMODULE,USHORT);
HPOINTER APIENTRY WinQueryPointer(HWND);
BOOL     APIENTRY WinQueryPointerInfo(HPOINTER,PPOINTERINFO);
BOOL     APIENTRY WinQueryPointerPos(HWND,PPOINTL);
HPOINTER APIENTRY WinQuerySysPointer(HWND,SHORT,BOOL);
BOOL     APIENTRY WinSetPointer(HWND,HPOINTER);
BOOL     APIENTRY WinSetPointerPos(HWND,SHORT,SHORT);
BOOL     APIENTRY WinShowPointer(HWND,BOOL);

#endif

#include <pmshl.h>

#ifdef INCL_WINHELP
  #include <pmhelp.h>
#endif

#ifdef INCL_WINHEAP

#define HM_MOVEABLE  1
#define HM_VALIDSIZE 2

typedef LHANDLE HHEAP;

NPBYTE APIENTRY WinAllocMem(HHEAP,USHORT);
USHORT APIENTRY WinAvailMem(HHEAP,BOOL,USHORT);
HHEAP  APIENTRY WinCreateHeap(SEL,USHORT,USHORT,USHORT,USHORT,USHORT);
HHEAP  APIENTRY WinDestroyHeap(HHEAP);
NPBYTE APIENTRY WinFreeMem(HHEAP,NPBYTE,USHORT);
PVOID  APIENTRY WinLockHeap(HHEAP);
NPBYTE APIENTRY WinReallocMem(HHEAP,NPBYTE,USHORT,USHORT);

#endif

#ifdef INCL_WINATOM

#define MAKEINTATOM(a) ((PCH)MAKEULONG(a, 0xffff))

typedef LHANDLE HATOMTBL;
typedef USHORT  ATOM;

HATOMTBL APIENTRY WinQuerySystemAtomTable(VOID);
HATOMTBL APIENTRY WinCreateAtomTable(USHORT,USHORT);
HATOMTBL APIENTRY WinDestroyAtomTable(HATOMTBL);
ATOM     APIENTRY WinAddAtom(HATOMTBL,PSZ);
ATOM     APIENTRY WinFindAtom(HATOMTBL,PSZ);
ATOM     APIENTRY WinDeleteAtom(HATOMTBL,ATOM);
USHORT   APIENTRY WinQueryAtomUsage(HATOMTBL,ATOM);
USHORT   APIENTRY WinQueryAtomLength(HATOMTBL,ATOM);
USHORT   APIENTRY WinQueryAtomName(HATOMTBL,ATOM,PSZ,USHORT);

#endif

#ifdef INCL_WINCATCHTHROW

typedef struct _CATCHBUF {
    ULONG reserved[ 4 ];
} CATCHBUF, FAR *PCATCHBUF;

SHORT APIENTRY WinCatch(PCATCHBUF);
VOID  APIENTRY WinThrow(PCATCHBUF,SHORT);

#endif

#ifdef INCL_WINERRORS

#include <pmerr.h>

typedef ULONG   ERRORID;
typedef ERRORID FAR *PERRORID;

typedef struct _ERRINFO {
    USHORT  cbFixedErrInfo;
    ERRORID idError;
    USHORT  cDetailLevel;
    USHORT  offaoffszMsg;
    USHORT  offBinaryData;
} ERRINFO, FAR *PERRINFO;

BOOL     APIENTRY WinFreeErrorInfo(PERRINFO);
PERRINFO APIENTRY WinGetErrorInfo(HAB);
ERRORID  APIENTRY WinGetLastError(HAB);

#endif

:include cplusepi.sp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -