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

📄 pmwin.mh

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

typedef struct _LBOXINFO {
    LONG  lItemIndex;
    ULONG ulItemCount;
    ULONG reserved;
    ULONG reserved2;
} LBOXINFO, *PLBOXINFO;

#endif

#ifdef INCL_WINMLE

#define MLS_WORDWRAP     0x00000001
#define MLS_BORDER       0x00000002
#define MLS_VSCROLL      0x00000004
#define MLS_HSCROLL      0x00000008
#define MLS_READONLY     0x00000010
#define MLS_IGNORETAB    0x00000020
#define MLS_DISABLEUNDO  0x00000040
#define MLS_LIMITVSCROLL 0x00000080

#define MLM_SETTEXTLIMIT          0x01b0
#define MLM_QUERYTEXTLIMIT        0x01b1
#define MLM_SETFORMATRECT         0x01b2
#define MLM_QUERYFORMATRECT       0x01b3
#define MLM_SETWRAP               0x01b4
#define MLM_QUERYWRAP             0x01b5
#define MLM_SETTABSTOP            0x01b6
#define MLM_QUERYTABSTOP          0x01b7
#define MLM_SETREADONLY           0x01b8
#define MLM_QUERYREADONLY         0x01b9
#define MLM_QUERYCHANGED          0x01ba
#define MLM_SETCHANGED            0x01bb
#define MLM_QUERYLINECOUNT        0x01bc
#define MLM_CHARFROMLINE          0x01bd
#define MLM_LINEFROMCHAR          0x01be
#define MLM_QUERYLINELENGTH       0x01bf
#define MLM_QUERYTEXTLENGTH       0x01c0
#define MLM_FORMAT                0x01c1
#define MLM_SETIMPORTEXPORT       0x01c2
#define MLM_IMPORT                0x01c3
#define MLM_EXPORT                0x01c4
#define MLM_DELETE                0x01c6
#define MLM_QUERYFORMATLINELENGTH 0x01c7
#define MLM_QUERYFORMATTEXTLENGTH 0x01c8
#define MLM_INSERT                0x01c9
#define MLM_SETSEL                0x01ca
#define MLM_QUERYSEL              0x01cb
#define MLM_QUERYSELTEXT          0x01cc
#define MLM_QUERYUNDO             0x01cd
#define MLM_UNDO                  0x01ce
#define MLM_RESETUNDO             0x01cf
#define MLM_QUERYFONT             0x01d0
#define MLM_SETFONT               0x01d1
#define MLM_SETTEXTCOLOR          0x01d2
#define MLM_QUERYTEXTCOLOR        0x01d3
#define MLM_SETBACKCOLOR          0x01d4
#define MLM_QUERYBACKCOLOR        0x01d5
#define MLM_QUERYFIRSTCHAR        0x01d6
#define MLM_SETFIRSTCHAR          0x01d7
#define MLM_CUT                   0x01d8
#define MLM_COPY                  0x01d9
#define MLM_PASTE                 0x01da
#define MLM_CLEAR                 0x01db
#define MLM_ENABLEREFRESH         0x01dc
#define MLM_DISABLEREFRESH        0x01dd
#define MLM_SEARCH                0x01de
#define MLM_QUERYIMPORTEXPORT     0x01df
#define MLN_OVERFLOW              0x0001
#define MLN_PIXHORZOVERFLOW       0x0002
#define MLN_PIXVERTOVERFLOW       0x0003
#define MLN_TEXTOVERFLOW          0x0004
#define MLN_VSCROLL               0x0005
#define MLN_HSCROLL               0x0006
#define MLN_CHANGE                0x0007
#define MLN_SETFOCUS              0x0008
#define MLN_KILLFOCUS             0x0009
#define MLN_MARGIN                0x000a
#define MLN_SEARCHPAUSE           0x000b
#define MLN_MEMERROR              0x000c
#define MLN_UNDOOVERFLOW          0x000d
#define MLN_CLPBDFAIL             0x000f

#define MLFFMTRECT_LIMITHORZ    0x1
#define MLFFMTRECT_LIMITVERT    0x2
#define MLFFMTRECT_MATCHWINDOW  0x4
#define MLFFMTRECT_FORMATRECT   0x7

#define MLFIE_CFTEXT            0x0
#define MLFIE_NOTRANS           0x1
#define MLFIE_WINFMT            0x2
#define MLFIE_RTF               0x3

#define MLE_INDEX               0x0
#define MLE_RGB                 0x1

#define MLFQS_MINMAXSEL 0
#define MLFQS_MINSEL    1
#define MLFQS_MAXSEL    2
#define MLFQS_ANCHORSEL 3
#define MLFQS_CURSORSEL 4

#define MLFEFR_RESIZE    0x01
#define MLFEFR_TABSTOP   0x02
#define MLFEFR_FONT      0x04
#define MLFEFR_TEXT      0x08
#define MLFEFR_WORDWRAP  0x10
#define MLFETL_TEXTBYTES 0x20

#define MLFMARGIN_LEFT   0x1
#define MLFMARGIN_BOTTOM 0x2
#define MLFMARGIN_RIGHT  0x3
#define MLFMARGIN_TOP    0x4

#define MLFCLPBD_TOOMUCHTEXT    0x1
#define MLFCLPBD_ERROR          0x2

#define MLFSEARCH_CASESENSITIVE 0x1
#define MLFSEARCH_SELECTMATCH   0x2
#define MLFSEARCH_CHANGEALL     0x4

typedef LONG  IPT;
typedef PLONG PIPT;
typedef LONG  PIX;
typedef ULONG LINE;

typedef struct _FORMATRECT {
    LONG cxFormat;
    LONG cyFormat;
} MLEFORMATRECT, *PFORMATRECT;

typedef struct _MLECTLDATA {
    USHORT cbCtlData;
    USHORT afIEFormat;
    ULONG  cchText;
    IPT    iptAnchor;
    IPT    iptCursor;
    LONG   cxFormat;
    LONG   cyFormat;
    ULONG  afFormatFlags;
    PVOID  pHWXCtlData;
} MLECTLDATA, *PMLECTLDATA;

typedef struct _MLEOVERFLOW {
    ULONG afErrInd;
    LONG  nBytesOver;
    LONG  pixHorzOver;
    LONG  pixVertOver;
} MLEOVERFLOW, *POVERFLOW;

typedef struct _MLEMARGSTRUCT {
    USHORT afMargins;
    USHORT usMouMsg;
    IPT    iptNear;
} MLEMARGSTRUCT, *PMARGSTRUCT;

typedef struct _SEARCH {
    USHORT cb;
    PCHAR  pchFind;
    PCHAR  pchReplace;
    SHORT  cchFind;
    SHORT  cchReplace;
    IPT    iptStart;
    IPT    iptStop;
    USHORT cchFound;
} MLE_SEARCHDATA, *PMLE_SEARCHDATA;

#endif

#ifdef INCL_WINMENUS

#define MIT_END             (-1)
#define MIT_NONE            (-1)
#define MIT_MEMERROR        (-1)
#define MIT_ERROR           (-1)
#define MIT_FIRST           (-2)
#define MIT_LAST            (-3)
#define MID_ERROR           (-1)
#define MID_NONE            MIT_NONE

#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           0x0001
#define MS_TITLEBUTTON         0x0002
#define MS_VERTICALFLIP        0x0004
#define MS_CONDITIONALCASCADE  0x0040

#define PU_POSITIONONITEM   0x0001
#define PU_HCONSTRAIN       0x0002
#define PU_VCONSTRAIN       0x0004
#define PU_NONE             0x0000
#define PU_MOUSEBUTTON1DOWN 0x0008
#define PU_MOUSEBUTTON2DOWN 0x0010
#define PU_MOUSEBUTTON3DOWN 0x0018
#define PU_SELECTITEM       0x0020
#define PU_MOUSEBUTTON1     0x0040
#define PU_MOUSEBUTTON2     0x0080
#define PU_MOUSEBUTTON3     0x0100
#define PU_KEYBOARD         0x0200

#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_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
#define MM_QUERYITEMRECT       0x0194
#define MM_QUERYDEFAULTITEMID  0x0431
#define MM_SETDEFAULTITEMID    0x0432

#define WinCheckMenuItem(hwndMenu, id, fcheck) \
    ((BOOL)WinSendMsg(hwndMenu, MM_SETITEMATTR, MPFROM2SHORT(id, TRUE), \
    MPFROM2SHORT(MIA_CHECKED, (USHORT)(fcheck) ? MIA_CHECKED : 0)))
#define WinIsMenuItemChecked(hwndMenu, id) \
    ((BOOL)WinSendMsg(hwndMenu, MM_QUERYITEMATTR, \
    MPFROM2SHORT(id, TRUE), MPFROMLONG(MIA_CHECKED)))
#define WinEnableMenuItem(hwndMenu, id, fEnable) \
    ((BOOL)WinSendMsg(hwndMenu, MM_SETITEMATTR, MPFROM2SHORT(id, TRUE), \
    MPFROM2SHORT(MIA_DISABLED, (USHORT)(fEnable) ? 0 : MIA_DISABLED)))
#define WinIsMenuItemEnabled(hwndMenu, id)  \
    (!(BOOL)WinSendMsg(hwndMenu, MM_QUERYITEMATTR, \
    MPFROM2SHORT(id, TRUE), MPFROMLONG(MIA_DISABLED)))
#define WinSetMenuItemText(hwndMenu, id, psz) \
    ((BOOL)WinSendMsg(hwndMenu, MM_SETITEMTEXT, MPFROMLONG(id), MPFROMP(psz)))
#define WinIsMenuItemValid(hwndMenu, id) \
    ((BOOL)WinSendMsg(hwndMenu, MM_ISITEMVALID, MPFROM2SHORT(id, TRUE), MPFROMLONG(FALSE)))

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

#pragma pack(2)

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

#pragma pack()

HWND   APIENTRY WinCreateMenu(HWND,PVOID);
HWND   APIENTRY WinLoadMenu(HWND,HMODULE,ULONG);
BOOL   APIENTRY WinPopupMenu(HWND,HWND,HWND,LONG,LONG,LONG,ULONG);

#endif

#ifdef INCL_WINPOINTERS

#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_ILLEGAL         18
#define SPTR_FILE            19
#define SPTR_FOLDER          20
#define SPTR_MULTFILE        21
#define SPTR_PROGRAM         22
#define SPTR_DISPLAY_PTRS    22
#define SPTR_PENFIRST        23
#define SPTR_PENLAST         39
#define SPTR_CPTR            39

#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_OLD_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 SBMP_CHECKBOXES        48
#define SBMP_HIDE              50
#define SBMP_HIDEDEP           51
#define SBMP_CLOSE             52
#define SBMP_CLOSEDEP          53

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

typedef struct _POINTERINFO {
    ULONG   fPointer;
    LONG    xHotspot;
    LONG    yHotspot;
    HBITMAP hbmPointer;
    HBITMAP hbmColor;
    HBITMAP hbmMiniPointer;
    HBITMAP hbmMiniColor;
} POINTERINFO, *PPOINTERINFO;

HPOINTER APIENTRY WinCreatePointer(HWND,HBITMAP,BOOL,LONG,LONG);
HPOINTER APIENTRY WinCreatePointerIndirect(HWND,PPOINTERINFO);
BOOL     APIENTRY WinDestroyPointer(HPOINTER);
BOOL     APIENTRY WinDrawPointer(HPS,LONG,LONG,HPOINTER,ULONG);
HBITMAP  APIENTRY WinGetSysBitmap(HWND,ULONG);
HPOINTER APIENTRY WinLoadPointer(HWND,HMODULE,ULONG);
BOOL     APIENTRY WinLockPointerUpdate(HWND,HPOINTER,ULONG);
HPOINTER APIENTRY WinQueryPointer(HWND);
BOOL     APIENTRY WinQueryPointerInfo(HPOINTER,PPOINTERINFO);
BOOL     APIENTRY WinQueryPointerPos(HWND,PPOINTL);
HPOINTER APIENTRY WinQuerySysPointer(HWND,LONG,BOOL);
BOOL     APIENTRY WinQuerySysPointerData(HWND,ULONG,PICONINFO);
BOOL     APIENTRY WinSetPointer(HWND,HPOINTER);
BOOL     APIENTRY WinSetPointerOwner(HPOINTER,PID,BOOL);
BOOL     APIENTRY WinSetPointerPos(HWND,LONG,LONG);
BOOL     APIENTRY WinSetSysPointerData(HWND,ULONG,PICONINFO);
BOOL     APIENTRY WinShowPointer(HWND,BOOL);

#endif

#if !defined(SESMGR)

#define HINI_PROFILE       ((HINI)NULL)
#define HINI_USERPROFILE   ((HINI)-1)
#define HINI_SYSTEMPROFILE ((HINI)-2)
#define HINI_USER          HINI_USERPROFILE
#define HINI_SYSTEM        HINI_SYSTEMPROFILE

typedef LHANDLE HPROGRAM, *PHPROGRAM;
typedef LHANDLE HAPP, *PHAPP;
typedef LHANDLE HINI, *PHINI;
typedef LHANDLE HSWITCH, *PHSWITCH;

typedef struct _PRFPROFILE {
    ULONG cchUserName;
    PSZ   pszUserName;
    ULONG cchSysName;
    PSZ   pszSysName;
} PRFPROFILE, *PPRFPROFILE;

#endif

#ifdef INCL_WINPROGRAMLIST

#define PROG_DEFAULT              (PROGCATEGORY)0
#define PROG_FULLSCREEN           (PROGCATEGORY)1
#define PROG_WINDOWABLEVIO        (PROGCATEGORY)2
#define PROG_PM              

⌨️ 快捷键说明

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