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

📄 pmwin.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
📖 第 1 页 / 共 5 页
字号:
APIRET  APIENTRY WinWaitEventSem(HEV,ULONG);
BOOL    APIENTRY WinWaitMsg(HAB,ULONG,ULONG);
APIRET  APIENTRY WinWaitMuxWaitSem(HMUX,ULONG,PULONG);
BOOL    APIENTRY WinPostQueueMsg(HMQ,ULONG,MPARAM,MPARAM);
BOOL    APIENTRY WinQueryMsgPos(HAB,PPOINTL);
ULONG   APIENTRY WinQueryMsgTime(HAB);
ULONG   APIENTRY WinQueryQueueStatus(HWND);
BOOL    APIENTRY WinSetClassMsgInterest(HAB,PCSZ,ULONG,LONG);
BOOL    APIENTRY WinSetMsgInterest(HWND,ULONG,LONG);

#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 struct _ACCELTABLE {
    USHORT cAccel;
    USHORT codepage;
    ACCEL  aaccel[1];
} ACCELTABLE, *PACCELTABLE;

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

#endif

#ifdef INCL_WINDDE

#define DDE_FACK         0x0001
#define DDE_FBUSY        0x0002
#define DDE_FNODATA      0x0004
#define DDE_FACKREQ      0x0008
#define DDE_FRESPONSE    0x0010
#define DDE_NOTPROCESSED 0x0020
#define DDE_FRESERVED    0x00C0
#define DDE_FAPPSTATUS   0xFF00

#define DDEPM_RETRY  1
#define DDEPM_NOFREE 2

#define DDEFMT_TEXT  1

#define DDECTXT_CASESENSITIVE 1

#define DDES_PSZITEMNAME(pddes)  (((PSZ)pddes) + ((PDDESTRUCT)pddes)->offszItemName)
#define DDES_PABDATA(pddes)      (((PBYTE)pddes) + ((PDDESTRUCT)pddes)->offabData)
#define DDEI_PCONVCONTEXT(pddei) ((PCONVCONTEXT)((PBYTE)pddei + pddei->offConvContext))

#define WM_DDE_FIRST       0x00A0
#define WM_DDE_INITIATE    0x00A0
#define WM_DDE_REQUEST     0x00A1
#define WM_DDE_ACK         0x00A2
#define WM_DDE_DATA        0x00A3
#define WM_DDE_ADVISE      0x00A4
#define WM_DDE_UNADVISE    0x00A5
#define WM_DDE_POKE        0x00A6
#define WM_DDE_EXECUTE     0x00A7
#define WM_DDE_TERMINATE   0x00A8
#define WM_DDE_INITIATEACK 0x00A9
#define WM_DDE_LAST        0x00AF

typedef struct _DDESTRUCT {
    ULONG  cbData;
    USHORT fsStatus;
    USHORT usFormat;
    USHORT offszItemName;
    USHORT offabData;
} DDESTRUCT, *PDDESTRUCT;

typedef struct _CONVCONTEXT {
    ULONG  cb;
    ULONG fsContext;
    ULONG idCountry;
    ULONG usCodepage;
    ULONG usLangID;
    ULONG usSubLangID;
} CONVCONTEXT, *PCONVCONTEXT;

typedef struct _DDEINIT {
    ULONG cb;
    PSZ   pszAppName;
    PSZ   pszTopic;
    ULONG offConvContext;
} DDEINIT, *PDDEINIT;

BOOL    APIENTRY WinDdeInitiate(HWND,PCSZ,PCSZ,PCONVCONTEXT);
BOOL    APIENTRY WinDdePostMsg(HWND,HWND,ULONG,PDDESTRUCT,ULONG);
MRESULT APIENTRY WinDdeRespond(HWND,HWND,PCSZ,PCSZ,PCONVCONTEXT);

#endif

#if defined(INCL_WINDIALOGS) || !defined(INCL_NOCOMMON)

#define MAX_MBDTEXT     70
typedef struct _MB2D {
    CHAR   achText[MAX_MBDTEXT + 1];
    CHAR   packbyte;
    ULONG  idButton;
    LONG   flStyle;
} MB2D, *PMB2D;

typedef struct _MB2INFO {
    ULONG    cb;
    HPOINTER hIcon;
    ULONG    cButtons;
    ULONG    flStyle;
    HWND     hwndNotify;
    MB2D     mb2d[1];
} MB2INFO, *PMB2INFO;

#define MB_OK               0x0000
#define MB_OKCANCEL         0x0001
#define MB_RETRYCANCEL      0x0002
#define MB_ABORTRETRYIGNORE 0x0003
#define MB_YESNO            0x0004
#define MB_YESNOCANCEL      0x0005
#define MB_CANCEL           0x0006
#define MB_ENTER            0x0007
#define MB_ENTERCANCEL      0x0008

#define MB_NOICON           0x0000
#define MB_CUANOTIFICATION  0x0000
#define MB_ICONQUESTION     0x0010
#define MB_ICONEXCLAMATION  0x0020
#define MB_CUAWARNING       0x0020
#define MB_ICONASTERISK     0x0030
#define MB_ICONHAND         0x0040
#define MB_CUACRITICAL      0x0040
#define MB_CUSTOMICON       0x0080
#define MB_QUERY            MB_ICONQUESTION
#define MB_WARNING          MB_CUAWARNING
#define MB_INFORMATION      MB_ICONASTERISK
#define MB_CRITICAL         MB_CUACRITICAL
#define MB_ERROR            MB_CRITICAL

#define MB_DEFBUTTON1       0x0000
#define MB_DEFBUTTON2       0x0100
#define MB_DEFBUTTON3       0x0200

#define MB_APPLMODAL        0x0000
#define MB_SYSTEMMODAL      0x1000
#define MB_HELP             0x2000
#define MB_MOVEABLE         0x4000
#define MB_NONMODAL         0x8000

#define MBID_OK             1
#define MBID_CANCEL         2
#define MBID_ABORT          3
#define MBID_RETRY          4
#define MBID_IGNORE         5
#define MBID_YES            6
#define MBID_NO             7
#define MBID_HELP           8
#define MBID_ENTER          9
#define MBID_ERROR          (-1)

#define DID_OK     1
#define DID_CANCEL 2
#define DID_ERROR  0xffff

#define WA_WARNING     0
#define WA_NOTE        1
#define WA_ERROR       2
#define WA_CWINALARMS 13

#define WinCheckButton(hwndDlg, id, usCheckState) \
    ((ULONG)WinSendDlgItemMsg(hwndDlg, id, BM_SETCHECK, MPFROMSHORT(usCheckState), (MPARAM)NULL))
#define WinQueryButtonCheckstate(hwndDlg, id) \
    ((ULONG)WinSendDlgItemMsg(hwndDlg, id, BM_QUERYCHECK, (MPARAM)NULL, (MPARAM)NULL))
#define WinEnableControl(hwndDlg, id, fEnable) \
    WinEnableWindow(WinWindowFromID(hwndDlg, id), fEnable)
#define WinShowControl(hwndDlg, id, fShow) \
    WinShowWindow(WinWindowFromID(hwndDlg, id), fShow)
#define WinIsControlEnabled(hwndDlg, id) \
    ((BOOL)WinIsWindowEnabled(WinWindowFromID(hwndDlg, id)))

BOOL    APIENTRY WinAlarm(HWND,ULONG);
MRESULT APIENTRY WinDefDlgProc(HWND,ULONG,MPARAM,MPARAM);
ULONG   APIENTRY WinMessageBox(HWND,HWND,PCSZ,PCSZ,ULONG,ULONG);
ULONG   APIENTRY WinMessageBox2(HWND,HWND,PCSZ,PCSZ,ULONG,PMB2INFO);
BOOL    APIENTRY WinDismissDlg(HWND,ULONG);
ULONG   APIENTRY WinDlgBox(HWND,HWND,PFNWP,HMODULE,ULONG,PVOID);
HWND    APIENTRY WinLoadDlg(HWND,HWND,PFNWP,HMODULE,ULONG,PVOID);
BOOL    APIENTRY WinQueryDlgItemShort(HWND,ULONG,PSHORT,BOOL);
ULONG   APIENTRY WinQueryDlgItemText(HWND,ULONG,LONG,PCSZ);
LONG    APIENTRY WinQueryDlgItemTextLength(HWND,ULONG);
BOOL    APIENTRY WinSetDlgItemShort(HWND,ULONG,USHORT,BOOL);
BOOL    APIENTRY WinSetDlgItemText(HWND,ULONG,PCSZ);

#endif

#ifdef INCL_WINDIALOGS

#define DLGC_ENTRYFIELD     0x0001
#define DLGC_BUTTON         0x0002
#define DLGC_RADIOBUTTON    0x0004
#define DLGC_STATIC         0x0008
#define DLGC_DEFAULT        0x0010
#define DLGC_PUSHBUTTON     0x0020
#define DLGC_CHECKBOX       0x0040
#define DLGC_SCROLLBAR      0x0080
#define DLGC_MENU           0x0100
#define DLGC_TABONCLICK     0x0200
#define DLGC_MLE            0x0400

#define EDI_FIRSTTABITEM    0
#define EDI_LASTTABITEM     1
#define EDI_NEXTTABITEM     2
#define EDI_PREVTABITEM     3
#define EDI_FIRSTGROUPITEM  4
#define EDI_LASTGROUPITEM   5
#define EDI_NEXTGROUPITEM   6
#define EDI_PREVGROUPITEM   7

#pragma pack(2)

typedef struct _DLGTITEM {
    USHORT fsItemStatus;
    USHORT cChildren;
    USHORT cchClassName;
    USHORT offClassName;
    USHORT cchText;
    USHORT offText;
    ULONG  flStyle;
    SHORT  x;
    SHORT  y;
    SHORT  cx;
    SHORT  cy;
    USHORT id;
    USHORT offPresParams;
    USHORT offCtlData;
} DLGTITEM, *PDLGTITEM;

typedef struct _DLGTEMPLATE {
    USHORT   cbTemplate;
    USHORT   type;
    USHORT   codepage;
    USHORT   offadlgti;
    USHORT   fsTemplateStatus;
    USHORT   iItemFocus;
    USHORT   coffPresParams;
    DLGTITEM adlgti[1];
} DLGTEMPLATE, *PDLGTEMPLATE;

#pragma pack()

HWND    APIENTRY WinCreateDlg(HWND,HWND,PFNWP,PDLGTEMPLATE,PVOID);
HWND    APIENTRY WinEnumDlgItem(HWND,HWND,ULONG);
BOOL    APIENTRY WinMapDlgPoints(HWND,PPOINTL,ULONG,BOOL);
ULONG   APIENTRY WinProcessDlg(HWND);
MRESULT APIENTRY WinSendDlgItemMsg(HWND,ULONG,ULONG,MPARAM,MPARAM);
LONG    APIENTRY WinSubstituteStrings(HWND,PCSZ,LONG,PCSZ);


#endif

#ifdef INCL_WINENTRYFIELDS

#define ES_LEFT       0x00000000
#define ES_CENTER     0x00000001
#define ES_RIGHT      0x00000002
#define ES_AUTOSCROLL 0x00000004
#define ES_MARGIN     0x00000008
#define ES_AUTOTAB    0x00000010
#define ES_READONLY   0x00000020
#define ES_COMMAND    0x00000040
#define ES_UNREADABLE 0x00000080
#define ES_AUTOSIZE   0x00000200

#define ES_ANY        0x00000000
#define ES_SBCS       0x00001000
#define ES_DBCS       0x00002000
#define ES_MIXED      0x00003000

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

#define CBID_LIST 0x029A
#define CBID_EDIT 0x029B

#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 CBS_SIMPLE       1
#define CBS_DROPDOWN     2
#define CBS_DROPDOWNLIST 4
#define CBS_COMPATIBLE   8

#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 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

#pragma pack(2)

typedef struct _COMBOCDATA {
    ULONG cbSize;
    ULONG reserved;
    PVOID pHWXCtlData;
} COMBOCDATA, *PCOMBOCDATA;

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

#pragma pack()

#endif

#ifdef INCL_WINERRORS

#include <pmerr.h>

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

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

#endif

#ifdef INCL_WINSEI
  #ifndef SEI_PMWINP
    #define SEI_PMWIN
    #include <pmsei.h>
  #endif
#endif

#ifdef INCL_WINFRAMECTLS

#define TBM_SETHILITE   0x01e3
#define TBM_QUERYHILITE 0x01e4

#endif

#if defined(INCL_WINFRAMEMGR) || !defined(INCL_NOCOMMON)

#define FCF_TITLEBAR        0x00000001
#define FCF_SYSMENU         0x00000002
#define FCF_MENU            0x00000004
#define FCF_SIZEBORDER      0x00000008
#define FCF_MINBUTTON       0x00000010
#define FCF_MAXBUTTON       0x00000020
#define FCF_MINMAX          0x00000030
#define FCF_VERTSCROLL      0x00000040
#define FCF_HORZSCROLL      0x00000080
#define FCF_DLGBORDER       0x00000100
#define FCF_BORDER          0x00000200
#define FCF_SHELLPOSITION   0x00000400
#define FCF_TASKLIST        0x00000800
#define FCF_NOBYTEALIGN     0x00001000
#define FCF_NOMOVEWITHOWNER 0x00002000
#define FCF_ICON            0x00004000
#define FCF_ACCELTABLE      0x00008000
#define FCF_SYSMODAL        0x00010000
#define FCF_SCREENALIGN     0x00020000
#define FCF_MOUSEALIGN      0x00040000
#define FCF_HIDEBUTTON      0x01000000
#define FCF_HIDEMAX         0x01000020
#define FCF_CLOSEBUTTON     0x04000000
#define FCF_AUTOICON        0x40000000
#define FCF_DBE_APPSTAT     0x80000000

#define FCF_STANDARD        0x0000CC3F

#define FS_ICON            0x00000001
#define FS_ACCELTABLE      0x00000002
#define FS_SHELLPOSITION   0x00000004
#define FS_TASKLIST        0x00000008
#define FS_NOBYTEALIGN     0x00000010
#define FS_NOMOVEWITHOWNER 0x00000020
#define FS_SYSMODAL        0x00000040
#define FS_DLGBORDER       0x00000080
#define FS_BORDER          0x00000100
#define FS_SCREENALIGN     0x00000200
#define FS_MOUSEALIGN      0x00000400
#define FS_SIZEBORDER      0x00000800
#define FS_AUTOICON        0x00001000
#define FS_DBE_APPSTAT     0x00008000

#define FS_STANDARD        0x0000000F

#define FF_FLASHWINDOW     0x0001
#define FF_ACTIVE          0x0002
#define FF_FLASHHILITE     0x0004

⌨️ 快捷键说明

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