📄 windows.inc
字号:
WM_MDIDESTROY = 0221h
WM_MDIACTIVATE = 0222h
WM_MDIRESTORE = 0223h
WM_MDINEXT = 0224h
WM_MDIMAXIMIZE = 0225h
WM_MDITILE = 0226h
WM_MDICASCADE = 0227h
WM_MDIICONARRANGE = 0228h
WM_MDIGETACTIVE = 0229h
WM_MDISETMENU = 0230h
WM_DROPFILES = 0233h
WM_CUT = 0300h
WM_COPY = 0301h
WM_PASTE = 0302h
WM_CLEAR = 0303h
WM_UNDO = 0304h
WM_RENDERFORMAT = 0305h
WM_RENDERALLFORMATS = 0306h
WM_DESTROYCLIPBOARD = 0307h
WM_DRAWCLIPBOARD = 0308h
WM_PAINTCLIPBOARD = 0309h
WM_VSCROLLCLIPBOARD = 030Ah
WM_SIZECLIPBOARD = 030Bh
WM_ASKCBFORMATNAME = 030Ch
WM_CHANGECBCHAIN = 030Dh
WM_HSCROLLCLIPBOARD = 030Eh
WM_QUERYNEWPALETTE = 030Fh
WM_PALETTEISCHANGING = 0310h
WM_PALETTECHANGED = 0311h
IFNDEF NOWIN31
WM_PENWINFIRST equ 0380h
WM_PENWINLAST equ 038Fh
WM_COALESCE_FIRST equ 0390h
WM_COALESCE_LAST equ 039Fh
ENDIF
; private window messages start here
WM_USER = 0400H
ENDIF ; NOWM
; WM_MOUSEACTIVATE Return Codes
MA_ACTIVATE = 1
MA_ACTIVATEANDEAT = 2
MA_NOACTIVATE = 3
; Size message commands
SIZENORMAL = 0
SIZEICONIC = 1
SIZEFULLSCREEN = 2
SIZEZOOMSHOW = 3
SIZEZOOMHIDE = 4
; ShowWindow() Commands
SW_HIDE = 0
SW_SHOWNORMAL = 1
SW_NORMAL = 1
SW_SHOWMINIMIZED = 2
SW_SHOWMAXIMIZED = 3
SW_MAXIMIZE = 3
SW_SHOWNOACTIVATE = 4
SW_SHOW = 5
SW_MINIMIZE = 6
SW_SHOWMINNOACTIVE = 7
SW_SHOWNA = 8
SW_RESTORE = 9
; Old ShowWindow() Commands
HIDE_WINDOW = 0
SHOW_OPENWINDOW = 1
SHOW_ICONWINDOW = 2
SHOW_FULLSCREEN = 3
SHOW_OPENNOACTIVATE= 4
; identifiers for the WM_SHOWWINDOW message
SW_PARENTCLOSING = 1
SW_OTHERZOOM = 2
SW_PARENTOPENING = 3
SW_OTHERUNZOOM = 4
;
; Key state masks for mouse messages
;
MK_LBUTTON = 0001h
MK_RBUTTON = 0002h
MK_SHIFT = 0004h
MK_CONTROL = 0008h
MK_MBUTTON = 0010h
;
; Class styles
;
CS_VREDRAW = 0001h
CS_HREDRAW = 0002h
CS_KEYCVTWINDOW = 0004H
CS_DBLCLKS = 0008h
; 0010h reserved
CS_OWNDC = 0020h
CS_CLASSDC = 0040h
CS_PARENTDC = 0080h
CS_NOKEYCVT = 0100h
CS_SAVEBITS = 0800h
CS_NOCLOSE = 0200h
CS_BYTEALIGNCLIENT = 1000h
CS_BYTEALIGNWINDOW = 2000h
CS_GLOBALCLASS = 4000h ; Global window class
;
; Special CreateWindow position value
;
CW_USEDEFAULT EQU 8000h
;
; Windows styles (the high words)
;
WS_OVERLAPPED = 00000h
WS_ICONICPOPUP = 0C000h
WS_POPUP = 08000h
WS_CHILD = 04000h
WS_MINIMIZE = 02000h
WS_VISIBLE = 01000h
WS_DISABLED = 00800h
WS_CLIPSIBLINGS = 00400h
WS_CLIPCHILDREN = 00200h
WS_MAXIMIZE = 00100h
WS_CAPTION = 000C0h ; WS_BORDER | WS_DLGFRAME
WS_BORDER = 00080h
WS_DLGFRAME = 00040h
WS_VSCROLL = 00020h
WS_HSCROLL = 00010h
WS_SYSMENU = 00008h
WS_THICKFRAME = 00004h
WS_HREDRAW = 00002h
WS_VREDRAW = 00001h
WS_GROUP = 00002h
WS_TABSTOP = 00001h
WS_MINIMIZEBOX = 00002h
WS_MAXIMIZEBOX = 00001h
; Common Window Styles
WS_OVERLAPPEDWINDOW = WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX
WS_POPUPWINDOW = WS_POPUP + WS_BORDER + WS_SYSMENU
WS_CHILDWINDOW = WS_CHILD
WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
WS_TILED = WS_OVERLAPPED
WS_ICONIC = WS_MINIMIZE
WS_SIZEBOX = WS_THICKFRAME
; Extended Window Styles (low words)
WS_EX_DLGMODALFRAME = 0001
WS_EX_DRAGOBJECT = 0002
WS_EX_NOPARENTNOTIFY = 0004
WS_EX_TOPMOST = 0008
;
; predefined clipboard formats
;
CF_TEXT = 1
CF_BITMAP = 2
CF_METAFILEPICT = 3
CF_SYLK = 4
CF_DIF = 5
CF_TIFF = 6
CF_OEMTEXT = 7
CF_DIB = 8
CF_PALETTE = 9
CF_PENDATA = 10
CF_RIFF = 11
CF_WAVE = 12
CF_OWNERDISPLAY = 80h ; owner display
CF_DSPTEXT = 81h ; display text
CF_DSPBITMAP = 82h ; display bitmap
CF_DSPMETAFILEPICT = 83h ; display metafile
;
; Private clipboard format range
;
CF_PRIVATEFIRST = 200h ; Anything in this range doesn't
CF_PRIVATELAST = 2ffh ; get GlobalFree'd
CF_GDIOBJFIRST = 300h ; Anything in this range gets
CF_GDIOBJLAST = 3ffh ; DeleteObject'ed
;
; Predefined resource types
;
RT_CURSOR = 1 ; must be passed through MAKEINTRESOURCE
RT_BITMAP = 2
RT_ICON = 3
RT_MENU = 4
RT_DIALOG = 5
RT_STRING = 6
RT_FONTDIR = 7
RT_FONT = 8
RT_ACCELERATOR = 9
RT_RCDATA = 10
;** NOTE: if any new resource types are introduced above this point, then the
;** value of DIFFERENCE must be changed.
;** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE
;** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE
DIFFERENCE = 11
RT_GROUP_CURSOR = RT_CURSOR + DIFFERENCE
RT_GROUP_ICON = RT_ICON + DIFFERENCE
IFNDEF NOMDI
MDICREATESTRUCT struc
szClass dd ?
szTitle dd ?
hOwner dw ?
x dw ?
y dw ?
cxc dw ?
cyc dw ?
style dd ?
MDICREATESTRUCT ends
CLIENTCREATESTRUCT struc
hWindowMenu dw ?
idFirstChild dw ?
CLIENTCREATESTRUCT ends
ENDIF
; NOMDI
PALETTEENTRY struc
peRed db ?
peGreen db ?
peBlue db ?
peFlags db ?
PALETTEENTRY ends
; Logical Palette
LOGPALETTE struc
palVersion dw ?
palNumEntries dw ?
palPalEntry db ? ; array of PALETTEENTRY
LOGPALETTE ends
; DRAWITEMSTRUCT for ownerdraw
DRAWITEMSTRUCT struc
drCtlType dw ?
drCtlID dw ?
dritemID dw ?
dritemAction dw ?
dritemState dw ?
drhwndItem dw ?
drhDC dw ?
drrcItem DB (size RECT) dup(?)
dritemData dd ?
DRAWITEMSTRUCT ends
; DELETEITEMSTRUCT for ownerdraw
DELETEITEMSTRUCT struc
deCtlType dw ?
deCtlID dw ?
deitemID dw ?
dehwndItem dw ?
deitemData dd ?
DELETEITEMSTRUCT ends
; MEASUREITEMSTRUCT for ownerdraw
MEASUREITEMSTRUCT struc
meCtlType dw ?
meCtlID dw ?
meitemID dw ?
meitemWidth dw ?
meitemHeight dw ?
meitemData dd ?
MEASUREITEMSTRUCT ends
; COMPAREITEMSTUCT for ownerdraw sorting
COMPAREITEMSTRUCT struc
coCtlType dw ?
coCtlID dw ?
cohwndItem dw ?
coitemID1 dw ?
coitemData1 dd ?
coitemID2 dw ?
coitemData2 dd ?
COMPAREITEMSTRUCT ends
; Owner draw control types
ODT_MENU = 1
ODT_LISTBOX = 2
ODT_COMBOBOX = 3
ODT_BUTTON = 4
; Owner draw actions
ODA_DRAWENTIRE = 1
ODA_SELECT = 2
ODA_FOCUS = 4
; Owner draw state
ODS_SELECTED = 0001h
ODS_GRAYED = 0002h
ODS_DISABLED = 0004h
ODS_CHECKED = 0008h
ODS_FOCUS = 0010h
; PeekMessage() Options
PM_NOREMOVE = 0000h
PM_REMOVE = 0001h
PM_NOYIELD = 0002h
; SetWindowPos Flags
SWP_NOSIZE = 0001h
SWP_NOMOVE = 0002h
SWP_NOZORDER = 0004h
SWP_NOREDRAW = 0008h
SWP_NOACTIVATE = 0010h
SWP_DRAWFRAME = 0020h
SWP_SHOWWINDOW = 0040h
SWP_HIDEWINDOW = 0080h
SWP_NOCOPYBITS = 0100h
SWP_NOREPOSITION = 0200h
IFNDEF NOWINMESSAGES
; Listbox messages
LB_ADDSTRING = (WM_USER+1)
LB_INSERTSTRING = (WM_USER+2)
LB_DELETESTRING = (WM_USER+3)
LB_RESETCONTENT = (WM_USER+5)
LB_SETSEL = (WM_USER+6)
LB_SETCURSEL = (WM_USER+7)
LB_GETSEL = (WM_USER+8)
LB_GETCURSEL = (WM_USER+9)
LB_GETTEXT = (WM_USER+10)
LB_GETTEXTLEN = (WM_USER+11)
LB_GETCOUNT = (WM_USER+12)
LB_SELECTSTRING = (WM_USER+13)
LB_DIR = (WM_USER+14)
LB_GETTOPINDEX = (WM_USER+15)
LB_FINDSTRING = (WM_USER+16)
LB_GETSELCOUNT = (WM_USER+17)
LB_GETSELITEMS = (WM_USER+18)
LB_SETTABSTOPS = (WM_USER+19)
LB_GETHORIZONTALEXTENT = (WM_USER+20)
LB_SETHORIZONTALEXTENT = (WM_USER+21)
LB_SETTOPINDEX = (WM_USER+24)
LB_GETITEMRECT = (WM_USER+25)
LB_GETITEMDATA = (WM_USER+26)
LB_SETITEMDATA = (WM_USER+27)
LB_SELITEMRANGE = (WM_USER+28)
LB_SETCARETINDEX = (WM_USER+31)
LB_GETCARETINDEX = (WM_USER+32)
IFNDEF NOWIN31
LB_SETITEMHEIGHT = (WM_USER+33)
LB_GETITEMHEIGHT = (WM_USER+34)
LB_FINDSTRINGEXACT = (WM_USER+35)
ENDIF
ENDIF
; NOWINMESSAGES
; Listbox Styles
LBS_NOTIFY = 0001h
LBS_SORT = 0002h
LBS_NOREDRAW = 0004h
LBS_MULTIPLESEL = 0008h
LBS_OWNERDRAWFIXED = 0010h
LBS_OWNERDRAWVARIABLE = 0020h
LBS_HASSTRINGS = 0040h
LBS_USETABSTOPS = 0080h
LBS_NOINTEGRALHEIGHT = 0100h
LBS_MULTICOLUMN = 0200h
LBS_WANTKEYBOARDINPUT = 0400h
LBS_EXTENDEDSEL = 0800h
LBS_STANDARD = LBS_NOTIFY + LBS_SORT + WS_VSCROLL + WS_BORDER
LBS_DISABLENOSCROLL = 1000h
; Listbox Notification Codes
LBN_ERRSPACE = (-2)
LBN_SELCHANGE = 1
LBN_DBLCLK = 2
LBN_SELCANCEL = 3
LBN_SETFOCUS = 4
LBN_KILLFOCUS = 5
IFNDEF NOWINMESSAGES
; Edit Control Messages
EM_GETSEL = (WM_USER+0)
EM_SETSEL = (WM_USER+1)
EM_GETRECT = (WM_USER+2)
EM_SETRECT = (WM_USER+3)
EM_SETRECTNP = (WM_USER+4)
EM_SCROLL = (WM_USER+5)
EM_LINESCROLL = (WM_USER+6)
EM_GETMODIFY = (WM_USER+8)
EM_SETMODIFY = (WM_USER+9)
EM_GETLINECOUNT = (WM_USER+10)
EM_LINEINDEX = (WM_USER+11)
EM_SETHANDLE = (WM_USER+12)
EM_GETHANDLE = (WM_USER+13)
EM_LINELENGTH = (WM_USER+17)
EM_REPLACESEL = (WM_USER+18)
EM_SETFONT = (WM_USER+19)
EM_GETLINE = (WM_USER+20)
EM_LIMITTEXT = (WM_USER+21)
EM_CANUNDO = (WM_USER+22)
EM_UNDO = (WM_USER+23)
EM_FMTLINES = (WM_USER+24)
EM_LINEFROMCHAR = (WM_USER+25)
EM_SETWORDBREAK = (WM_USER+26)
EM_SETTABSTOPS = (WM_USER+27)
EM_SETPASSWORDCHAR = (WM_USER+28)
EM_EMPTYUNDOBUFFER = (WM_USER+29)
IFNDEF NOWIN31
EM_GETFIRSTVISIBLELINE = (WM_USER+30)
EM_SETREADONLY = (WM_USER+31)
EM_SETWORDBREAKPROC = (WM_USER+32)
EM_GETWORDBREAKPROC = (WM_USER+33)
EM_GETPASSWORDCHAR = (WM_USER+34)
ENDIF
ENDIF
; NOWINMESSAGES
; Edit Control Styles (low word)
ES_LEFT = 0000h
ES_CENTER = 0001h
ES_RIGHT = 0002h
ES_MULTILINE = 0004h
ES_UPPERCASE = 0008h
ES_LOWERCASE = 0010h
ES_PASSWORD = 0020h
ES_AUTOVSCROLL = 0040h
ES_AUTOHSCROLL = 0080h
ES_NOHIDESEL = 0100h
ES_OEMCONVERT = 0400h
IFNDEF NOWIN31
ES_READONLY = 0800h
ES_WANTRETURN = 1000h
ENDIF
; Edit Control Notification Codes
EN_SETFOCUS = 0100h
EN_KILLFOCUS = 0200h
EN_CHANGE = 0300h
EN_UPDATE = 0400h
EN_ERRSPACE = 0500h
EN_MAXTEXT = 0501h
EN_HSCROLL = 0601h
EN_VSCROLL = 0602h
IFNDEF NOWINMESSAGES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -