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

📄 pmwin.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
📖 第 1 页 / 共 4 页
字号:

#define QFC_NEXTINCHAIN  1
#define QFC_ACTIVE       2
#define QFC_FRAME        3
#define QFC_SELECTACTIVE 4

BOOL  APIENTRY WinFocusChange(HWND,HWND,USHORT);
BOOL  APIENTRY WinSetFocus(HWND,HWND);

#endif

#ifdef INCL_WININPUT

#define JRN_QUEUESTATUS  1L
#define JRN_PHYSKEYSTATE 2L

#define KC_CHAR        0x0001
#define KC_VIRTUALKEY  0x0002
#define KC_SCANCODE    0x0004
#define KC_SHIFT       0x0008
#define KC_CTRL        0x0010
#define KC_ALT         0x0020
#define KC_KEYUP       0x0040
#define KC_PREVDOWN    0x0080
#define KC_LONEKEY     0x0100
#define KC_DEADKEY     0x0200
#define KC_COMPOSITE   0x0400
#define KC_INVALIDCOMP 0x0800
#define KC_TOGGLE      0x1000
#define KC_INVALIDCHAR 0x2000
#define KC_DBCSRSRVD1  0x4000
#define KC_DBCSRSRVD2  0x8000

#define VK_BUTTON1   0x01
#define VK_BUTTON2   0x02
#define VK_BUTTON3   0x03
#define VK_BREAK     0x04
#define VK_BACKSPACE 0x05
#define VK_TAB       0x06
#define VK_BACKTAB   0x07
#define VK_NEWLINE   0x08
#define VK_SHIFT     0x09
#define VK_CTRL      0x0A
#define VK_ALT       0x0B
#define VK_ALTGRAF   0x0C
#define VK_PAUSE     0x0D
#define VK_CAPSLOCK  0x0E
#define VK_ESC       0x0F
#define VK_SPACE     0x10
#define VK_PAGEUP    0x11
#define VK_PAGEDOWN  0x12
#define VK_END       0x13
#define VK_HOME      0x14
#define VK_LEFT      0x15
#define VK_UP        0x16
#define VK_RIGHT     0x17
#define VK_DOWN      0x18
#define VK_PRINTSCRN 0x19
#define VK_INSERT    0x1A
#define VK_DELETE    0x1B
#define VK_SCRLLOCK  0x1C
#define VK_NUMLOCK   0x1D
#define VK_ENTER     0x1E
#define VK_SYSRQ     0x1F
#define VK_F1        0x20
#define VK_F2        0x21
#define VK_F3        0x22
#define VK_F4        0x23
#define VK_F5        0x24
#define VK_F6        0x25
#define VK_F7        0x26
#define VK_F8        0x27
#define VK_F9        0x28
#define VK_F10       0x29
#define VK_F11       0x2A
#define VK_F12       0x2B
#define VK_F13       0x2C
#define VK_F14       0x2D
#define VK_F15       0x2E
#define VK_F16       0x2F
#define VK_F17       0x30
#define VK_F18       0x31
#define VK_F19       0x32
#define VK_F20       0x33
#define VK_F21       0x34
#define VK_F22       0x35
#define VK_F23       0x36
#define VK_F24       0x37
#define VK_MENU      VK_F10
#define VK_DBCSFIRST 0x0080
#define VK_DBCSLAST  0x00ff
#define VK_USERFIRST 0x0100
#define VK_USERLAST  0x01ff

#define WM_MOUSEFIRST       0x0070
#define WM_MOUSELAST        0x0079
#define WM_BUTTONCLICKFIRST 0x0071
#define WM_BUTTONCLICKLAST  0x0079
#define WM_MOUSEMOVE        0x0070
#define WM_BUTTON1DOWN      0x0071
#define WM_BUTTON1UP        0x0072
#define WM_BUTTON1DBLCLK    0x0073
#define WM_BUTTON2DOWN      0x0074
#define WM_BUTTON2UP        0x0075
#define WM_BUTTON2DBLCLK    0x0076
#define WM_BUTTON3DOWN      0x0077
#define WM_BUTTON3UP        0x0078
#define WM_BUTTON3DBLCLK    0x0079
#define WM_CHAR             0x007a
#define WM_VIOCHAR          0x007b
#define WM_JOURNALNOTIFY    0x007c

#define CHARMSG(pmsg)  ((struct _CHARMSG FAR *)((PBYTE)pmsg - sizeof(MPARAM) * 2))
#define MOUSEMSG(pmsg) ((struct _MOUSEMSG FAR *)((PBYTE)pmsg - sizeof(MPARAM) * 2))

typedef struct _CHARMSG {
    USHORT chr;
    USHORT vkey;
    USHORT fs;
    UCHAR  cRepeat;
    UCHAR  scancode;
} CHRMSG;

typedef struct _MOUSEMSG {
    USHORT codeHitTest;
    USHORT unused;
    SHORT  x;
    SHORT  y;
} MSEMSG;

BOOL  APIENTRY WinIsPhysInputEnabled(HWND);
SHORT APIENTRY WinGetKeyState(HWND,SHORT);
SHORT APIENTRY WinGetPhysKeyState(HWND,SHORT);
BOOL  APIENTRY WinEnablePhysInput(HWND,BOOL);
HWND  APIENTRY WinQueryCapture(HWND,BOOL);
HWND  APIENTRY WinQueryFocus(HWND,BOOL);
BOOL  APIENTRY WinSetCapture(HWND,HWND);
BOOL  APIENTRY WinSetKeyboardStateTable(HWND,PBYTE,BOOL);

#endif

#ifdef INCL_WINCLIPBOARD

#define CF_TEXT        1
#define CF_BITMAP      2
#define CF_DSPTEXT     3
#define CF_DSPBITMAP   4
#define CF_METAFILE    5
#define CF_DSPMETAFILE 6

#define CFI_OWNERFREE    0x0001
#define CFI_OWNERDISPLAY 0x0002
#define CFI_SELECTOR     0x0100
#define CFI_HANDLE       0x0200

#define WM_RENDERFMT        0x0060
#define WM_RENDERALLFMTS    0x0061
#define WM_DESTROYCLIPBOARD 0x0062
#define WM_PAINTCLIPBOARD   0x0063
#define WM_SIZECLIPBOARD    0x0064
#define WM_HSCROLLCLIPBOARD 0x0065
#define WM_VSCROLLCLIPBOARD 0x0066
#define WM_DRAWCLIPBOARD    0x0067

BOOL   APIENTRY WinCloseClipbrd(HAB);
BOOL   APIENTRY WinEmptyClipbrd(HAB);
USHORT APIENTRY WinEnumClipbrdFmts(HAB,USHORT);
BOOL   APIENTRY WinOpenClipbrd(HAB);
ULONG  APIENTRY WinQueryClipbrdData(HAB,USHORT);
BOOL   APIENTRY WinQueryClipbrdFmtInfo(HAB,USHORT,PUSHORT);
HWND   APIENTRY WinQueryClipbrdOwner(HAB,BOOL);
HWND   APIENTRY WinQueryClipbrdViewer(HAB,BOOL);
BOOL   APIENTRY WinSetClipbrdData(HAB,ULONG,USHORT,USHORT);
BOOL   APIENTRY WinSetClipbrdOwner(HAB,HWND);
BOOL   APIENTRY WinSetClipbrdViewer(HAB,HWND);

#endif

#ifdef INCL_WINLISTBOXES

#define WC_LISTBOX ((PSZ)0xffff0007L)

#define LIT_ERROR    (-3)
#define LIT_MEMERROR (-2)
#define LIT_NONE     (-1)
#define LIT_FIRST    (-1)

#define LIT_END            (-1)
#define LIT_SORTASCENDING  (-2)
#define LIT_SORTDESCENDING (-3)

#define LN_SELECT    1
#define LN_SETFOCUS  2
#define LN_KILLFOCUS 3
#define LN_SCROLL    4
#define LN_ENTER     5

#define LM_QUERYITEMCOUNT      0x0160
#define LM_INSERTITEM          0x0161
#define LM_SETTOPINDEX         0x0162
#define LM_DELETEITEM          0x0163
#define LM_SELECTITEM          0x0164
#define LM_QUERYSELECTION      0x0165
#define LM_SETITEMTEXT         0x0166
#define LM_QUERYITEMTEXTLENGTH 0x0167
#define LM_QUERYITEMTEXT       0x0168
#define LM_SETITEMHANDLE       0x0169
#define LM_QUERYITEMHANDLE     0x016a
#define LM_SEARCHSTRING        0x016b
#define LM_SETITEMHEIGHT       0x016c
#define LM_QUERYTOPINDEX       0x016d
#define LM_DELETEALL           0x016e

#define LS_MULTIPLESEL 1
#define LS_OWNERDRAW   2
#define LS_NOADJUSTPOS 4
#define LS_HORZSCROLL  8

#define LSS_SUBSTRING     1
#define LSS_PREFIX        2
#define LSS_CASESENSITIVE 4

#endif

#ifdef INCL_WINLOAD

typedef HMODULE HLIB;
typedef PHMODULE PHLIB;

BOOL  APIENTRY WinDeleteProcedure(HAB,PFNWP);
BOOL  APIENTRY WinDeleteLibrary(HAB,HLIB);
PFNWP APIENTRY WinLoadProcedure(HAB,HLIB,PSZ);
HLIB  APIENTRY WinLoadLibrary(HAB,PSZ);

#endif

#ifdef INCL_WINMENUS

#define MIT_END      (-1)
#define MIT_NONE     (-1)
#define MIT_MEMERROR (-1)
#define MIT_ERROR    (-1)
#define MID_NONE     MIT_NONE
#define MID_ERROR    (-1)

#define MIS_TEXT            0x0001
#define MIS_BITMAP          0x0002
#define MIS_SEPARATOR       0x0004
#define MIS_OWNERDRAW       0x0008
#define MIS_SUBMENU         0x0010
#define MIS_MULTMENU        0x0020
#define MIS_SYSCOMMAND      0x0040
#define MIS_HELP            0x0080
#define MIS_STATIC          0x0100
#define MIS_BUTTONSEPARATOR 0x0200
#define MIS_BREAK           0x0400
#define MIS_BREAKSEPARATOR  0x0800
#define MIS_GROUP           0x1000
#define MIS_SINGLE          0x2000

#define MIA_NODISMISS 0x0020
#define MIA_FRAMED    0x1000
#define MIA_CHECKED   0x2000
#define MIA_DISABLED  0x4000
#define MIA_HILITED   0x8000

#define MS_ACTIONBAR    0x00000001L
#define MS_TITLEBUTTON  0x00000002L
#define MS_VERTICALFLIP 0x00000004L

#define WC_MENU ((PSZ)0xffff0004L)

#define MM_INSERTITEM          0x0180
#define MM_DELETEITEM          0x0181
#define MM_QUERYITEM           0x0182
#define MM_SETITEM             0x0183
#define MM_QUERYITEMCOUNT      0x0184
#define MM_STARTMENUMODE       0x0185
#define MM_ENDMENUMODE         0x0186
#define MM_DISMISSMENU         0x0187
#define MM_REMOVEITEM          0x0188
#define MM_SELECTITEM          0x0189
#define MM_QUERYSELITEMID      0x018a
#define MM_QUERYITEMTEXT       0x018b
#define MM_QUERYITEMTEXTLENGTH 0x018c
#define MM_SETITEMHANDLE       0x018d
#define MM_SETITEMTEXT         0x018e
#define MM_ITEMPOSITIONFROMID  0x018f
#define MM_ITEMIDFROMPOSITION  0x0190
#define MM_QUERYITEMATTR       0x0191
#define MM_SETITEMATTR         0x0192
#define MM_ISITEMVALID         0x0193

typedef struct _MENUITEM {
    SHORT  iPosition;
    USHORT afStyle;
    USHORT afAttribute;
    USHORT id;
    HWND   hwndSubMenu;
    ULONG  hItem;
} MENUITEM, FAR *PMENUITEM;

typedef struct _OWNERITEM {
    HWND   hwnd;
    HPS    hps;
    USHORT fsState;
    USHORT fsAttribute;
    USHORT fsStateOld;
    USHORT fsAttributeOld;
    RECTL  rclItem;
    SHORT  idItem;
    ULONG  hItem;
} OWNERITEM, FAR *POWNERITEM;

HWND APIENTRY WinCreateMenu(HWND,PVOID);
HWND APIENTRY WinLoadMenu(HWND,HMODULE,USHORT);

#endif

#ifdef INCL_WINSYS

#define SV_SWAPBUTTON          0
#define SV_DBLCLKTIME          1
#define SV_CXDBLCLK            2
#define SV_CYDBLCLK            3
#define SV_CXSIZEBORDER        4
#define SV_CYSIZEBORDER        5
#define SV_ALARM               6
#define SV_RESERVEDFIRST1      7
#define SV_RESERVEDLAST1       8
#define SV_CURSORRATE          9
#define SV_FIRSTSCROLLRATE     10
#define SV_SCROLLRATE          11
#define SV_NUMBEREDLISTS       12
#define SV_WARNINGFREQ         13
#define SV_NOTEFREQ            14
#define SV_ERRORFREQ           15
#define SV_WARNINGDURATION     16
#define SV_NOTEDURATION        17
#define SV_ERRORDURATION       18
#define SV_RESERVEDFIRST       19
#define SV_RESERVEDLAST        19
#define SV_CXSCREEN            20
#define SV_CYSCREEN            21
#define SV_CXVSCROLL           22
#define SV_CYHSCROLL           23
#define SV_CYVSCROLLARROW      24
#define SV_CXHSCROLLARROW      25
#define SV_CXBORDER            26
#define SV_CYBORDER            27
#define SV_CXDLGFRAME          28
#define SV_CYDLGFRAME          29
#define SV_CYTITLEBAR          30
#define SV_CYVSLIDER           31
#define SV_CXHSLIDER           32
#define SV_CXMINMAXBUTTON      33
#define SV_CYMINMAXBUTTON      34
#define SV_CYMENU              35
#define SV_CXFULLSCREEN        36
#define SV_CYFULLSCREEN        37
#define SV_CXICON              38
#define SV_CYICON              39
#define SV_CXPOINTER           40
#define SV_CYPOINTER           41
#define SV_DEBUG               42
#define SV_CMOUSEBUTTONS       43
#define SV_POINTERLEVEL        44
#define SV_CURSORLEVEL         45
#define SV_TRACKRECTLEVEL      46
#define SV_CTIMERS             47
#define SV_MOUSEPRESENT        48
#define SV_CXBYTEALIGN         49
#define SV_CYBYTEALIGN         50
#define SV_NOTRESERVED         56
#define SV_EXTRAKEYBEEP        57
#define SV_SETLIGHTS           58
#define SV_INSERTMODE          59
#define SV_MENUROLLDOWNDELAY   64
#define SV_MENUROLLUPDELAY     65
#define SV_ALTMNEMONIC         66
#define SV_TASKLISTMOUSEACCESS 67
#define SV_CSYSVALUES          68
#define SV_CPOINTERBUTTONS     69
#define SV_CXALIGN             70
#define SV_CYALIGN             71
#define SV_MNEMONICSENABLED    72

#define SYSCLR_BUTTONLIGHT           (-41L)
#define SYSCLR_BUTTONMIDDLE          (-40L)
#define SYSCLR_BUTTONDARK            (-39L)
#define SYSCLR_BUTTONDEFAULT         (-38L)
#define SYSCLR_TITLEBOTTOM           (-37L)
#define SYSCLR_SHADOW                (-36L)
#define SYSCLR_ICONTEXT              (-35L)
#define SYSCLR_DIALOGBACKGROUND      (-34L)
#define SYSCLR_HILITEFOREGROUND      (-33L)
#define SYSCLR_HILITEBACKGROUND      (-32L)
#define SYSCLR_INACTIVETITLETEXTBGND (-31L)
#define SYSCLR_ACTIVETITLETEXTBGND   (-30L)
#define SYSCLR_INACTIVETITLETEXT     (-29L)
#define SYSCLR_ACTIVETITLETEXT       (-28L)
#define SYSCLR_OUTPUTTEXT            (-27L)
#define SYSCLR_WINDOWSTATICTEXT      (-26L)
#define SYSCLR_SCROLLBAR             (-25L)
#define SYSCLR_BACKGROUND            (-24L)
#define SYSCLR_ACTIVETITLE           (-23L)
#define SYSCLR_INACTIVETITLE         (-22L)
#define SYSCLR_MENU                  (-21L)
#define SYSCLR_WINDOW                (-20L)
#define SYSCLR_WINDOWFRAME           (-19L)
#define SYSCLR_MENUTEXT              (-18L)
#define SYSCLR_WINDOWTEXT            (-17L)
#define SYSCLR_TITLETEXT             (-16L)
#define SYSCLR_ACTIVEBORDER          (-15L)
#define SYSCLR_INACTIVEBORDER        (-14L)
#define SYSCLR_APPWORKSPACE          (-13L)
#define SYSCLR_HELPBACKGROUND        (-12L)
#define SYSCLR_HELPTEXT              (-11L)
#define SYSCLR_HELPHILITE            (-10L)
#define SYSCLR_CSYSCOLORS            32L

#define PP_FOREGROUNDCOLOR              1L
#define PP_FOREGROUNDCOLORINDEX         2L
#define PP_BACKGROUNDCOLOR              3L
#define PP_BACKGROUNDCOLORINDEX         4L
#define PP_HILITEFOREGROUNDCOLOR        5L
#define PP_HILITEFOREGROUNDCOLORINDEX   6L
#define PP_HILITEBACKGROUNDCOLOR        7L
#define PP_HILITEBACKGROUNDCOLORINDEX   8L
#define PP_DISABLEDFOREGROUNDCOLOR      9L
#define PP_DISABLEDFOREGROUNDCOLORINDEX 10L
#define PP_DISABLEDBACKGROUNDCOLOR      11L
#define PP_DISABLEDBACKGROUNDCOLORINDEX 12L
#define PP_BORDERCOLOR                  13L
#define PP_BORDERCOLORINDEX             14L
#define PP_FONTNAMESIZE                 15L
#define PP_FONTHANDLE                   16L

#define QPF_NOINHERIT     0x0001
#define QPF_ID1COLORINDEX 0x0002
#define QPF_ID2COLORINDEX 0x0004
#define QPF_PURERGBCOLOR  0x0008
#define QPF_VALIDFLAGS    0x000F

typedef struct _PARAM {
    ULONG id;
    ULONG cb;
    BYTE  ab[1];
} PARAM, FAR  *PPARAM, NEAR *NPPARAM;

typedef struct _PRESPARAMS {
    ULONG   cb;
    PARAM   aparam[1];
} PRESPARAMS, FAR  *PPRESPARAMS, NEAR *NPPRESPARAMS;

ULONG APIENTRY WinQueryPresParam(HWND,ULONG,ULONG,PULONG,ULONG,PVOID,USHORT);

⌨️ 快捷键说明

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