📄 windows.inc
字号:
;*************************************************************************
;
; WINDOWS.INC - Windows assembly language structures & constants
;
;*************************************************************************
;
;
; C/C++ Run Time Library - Version 7.0
;
; Copyright (c) 1985, 1996 by Borland International
; All Rights Reserved.
;
;
; Conditional Block includes: (True states)
; NOTEXT - don't include TextMetric struc & text drawing modes & stock objs.
; NORASTOPS - don't include binary and ternary raster ops.
; NOVK - don't include virtual key definitions
; NOMB - don't include message box definitions
; NOWM - don't include window messages
;
;
FALSE = 0
TRUE = 1
NULL = 0
;*******************************************************************
;
; Rectangle
;
;*******************************************************************
RECT struc
rcLeft dw ?
rcTop dw ?
rcRight dw ?
rcBottom dw ?
RECT ends
;*******************************************************************
;
; Window Class structure
;
;*******************************************************************
WNDCLASS struc
clsStyle dw ? ; class style
clsLpfnWndProc dd ?
clsCbClsExtra dw ?
clsCbWndExtra dw ?
clsHInstance dw ? ; instance handle
clsHIcon dw ? ; class icon handle
clsHCursor dw ? ; class cursor handle
clsHbrBackground dw ? ; class background brush
clsLpszMenuName dd ? ; menu name
clsLpszClassName dd ? ; far ptr to class name
WNDCLASS ends
IFNDEF NOTEXT
TEXTMETRIC struc
tmHeight dw ?
tmAscent dw ?
tmDescent dw ?
tmIntLeading dw ?
tmExtLeading dw ?
tmAveCharWidth dw ?
tmMaxCharWidth dw ?
tmWeight dw ?
tmItalic db ?
tmUnderlined db ?
tmStruckOut db ?
tmFirstChar db ?
tmLastChar db ?
tmDefaultChar db ?
tmBreakChar db ?
tmPitch db ?
tmCharSet db ?
tmOverhang dw ?
tmAspectX dw ?
tmAspectY dw ?
TEXTMETRIC ends
LF_FACESIZE EQU 32
LOGFONT struc
lfHeight dw ?
lfWidth dw ?
lfEscapement dw ?
lfOrientation dw ?
lfWeight dw ?
lfItalic db ?
lfUnderline db ?
lfStrikeOut db ?
lfCharSet db ?
lfOutPrecision db ?
lfClipPrecision db ?
lfQuality db ?
lfPitchAndFamily db ?
lfFaceName db LF_FACESIZE dup(?)
LOGFONT ends
LOGBRUSH struc
lbStyle dw ?
lbColor dd ?
lbHatch dw ?
LOGBRUSH ends
;
; Text Drawing modes
;
TRANSPARENT = 1
OPAQUE = 2
;
; Mapping Modes
;
MM_TEXT = 1
MM_LOMETRIC = 2
MM_HIMETRIC = 3
MM_LOENGLISH = 4
MM_HIENGLISH = 5
MM_TWIPS = 6
MM_ISOTROPIC = 7
MM_ANISOTROPIC = 8
;
; Coordinate Modes
;
ABSOLUTE = 1
RELATIVE = 2
;
; Stock Logical Objects
;
WHITE_BRUSH = 0
LTGRAY_BRUSH = 1
GRAY_BRUSH = 2
DKGRAY_BRUSH = 3
BLACK_BRUSH = 4
NULL_BRUSH = 5
HOLLOW_BRUSH = 5
WHITE_PEN = 6
BLACK_PEN = 7
NULL_PEN = 8
DOT_MARKER = 9
OEM_FIXED_FONT = 10
ANSI_FIXED_FONT = 11
ANSI_VAR_FONT = 12
SYSTEM_FONT = 13
DEVICE_DEFAULT_FONT = 14
DEFAULT_PALETTE = 15
SYSTEM_FIXED_FONT = 16
ENDIF
;
; Brush Styles
;
BS_SOLID = 0
BS_NULL = 1
BS_HOLLOW = BS_NULL
BS_HATCHED = 2
BS_PATTERN = 3
BS_INDEXED = 4
BS_DIBPATTERN = 5
;
; Hatch Styles
;
HS_HORIZONTAL = 0 ; -----
HS_VERTICAL = 1 ; |||||
HS_FDIAGONAL = 2 ; \\\\\
HS_BDIAGONAL = 3 ; /////
HS_CROSS = 4 ; +++++
HS_DIAGCROSS = 5 ; xxxxx
;
; Pen Styles
;
PS_SOLID = 0
PS_DASH = 1 ; -------
PS_DOT = 2 ; .......
PS_DASHDOT = 3 ; _._._._
PS_DASHDOTDOT = 4 ; _.._.._
PS_NULL = 5
PS_INSIDEFRAME = 6
;
; Device Parameters for GetDeviceCaps()
;
DRIVERVERSION =0 ; Device driver version
TECHNOLOGY =2 ; Device classification
HORZSIZE =4 ; Horizontal size in millimeters
VERTSIZE =6 ; Vertical size in millimeters
HORZRES =8 ; Horizontal width in pixels
VERTRES =10 ; Vertical width in pixels
BITSPIXEL =12 ; Number of bits per pixel
PLANES =14 ; Number of planes
NUMBRUSHES =16 ; Number of brushes the device has
NUMPENS =18 ; Number of pens the device has
NUMMARKERS =20 ; Number of markers the device has
NUMFONTS =22 ; Number of fonts the device has
NUMCOLORS =24 ; Number of colors the device supports
PDEVICESIZE =26 ; Size required for device descriptor
CURVECAPS =28 ; Curve capabilities
LINECAPS =30 ; Line capabilities
POLYGONALCAPS =32 ; Polygonal capabilities
TEXTCAPS =34 ; Text capabilities
CLIPCAPS =36 ; Clipping capabilities
RASTERCAPS =38 ; Bitblt capabilities
ASPECTX =40 ; Length of the X leg
ASPECTY =42 ; Length of the Y leg
ASPECTXY =44 ; Length of the hypotenuse
LOGPIXELSX =88 ; Logical pixels/inch in X
LOGPIXELSY =90 ; Logical pixels/inch in Y
SIZEPALETTE =104 ; Number of entries in physical palette
NUMRESERVED =106 ; Number of reserved entries in palette
COLORRES =108 ; Actual color resolution
;
ifndef NOGDICAPMASKS
;
; Device Capability Masks:
;
; Device Technologies
DT_PLOTTER = 0 ; /* Vector plotter */
DT_RASDISPLAY = 1 ; /* Raster display */
DT_RASPRINTER = 2 ; /* Raster printer */
DT_RASCAMERA = 3 ; /* Raster camera */
DT_CHARSTREAM = 4 ; /* Character-stream, PLP */
DT_METAFILE = 5 ; /* Metafile, VDM */
DT_DISPFILE = 6 ; /* Display-file */
;
; Curve Capabilities
CC_NONE = 0 ; /* Curves not supported */
CC_CIRCLES = 1 ; /* Can do circles */
CC_PIE = 2 ; /* Can do pie wedges */
CC_CHORD = 4 ; /* Can do chord arcs */
CC_ELLIPSES = 8 ; /* Can do ellipese */
CC_WIDE = 16 ; /* Can do wide lines */
CC_STYLED = 32 ; /* Can do styled lines */
CC_WIDESTYLED = 64 ; /* Can do wide styled lines */
CC_INTERIORS = 128; /* Can do interiors */
;
; Line Capabilities
LC_NONE = 0 ; /* Lines not supported */
LC_POLYLINE = 2 ; /* Can do polylines */
LC_MARKER = 4 ; /* Can do markers */
LC_POLYMARKER = 8 ; /* Can do polymarkers */
LC_WIDE = 16 ; /* Can do wide lines */
LC_STYLED = 32 ; /* Can do styled lines */
LC_WIDESTYLED = 64 ; /* Can do wide styled lines */
LC_INTERIORS = 128; /* Can do interiors */
;
; Polygonal Capabilities
PC_NONE = 0 ; /* Polygonals not supported */
PC_POLYGON = 1 ; /* Can do polygons */
PC_RECTANGLE = 2 ; /* Can do rectangles */
PC_WINDPOLYGON = 4 ; /* Can do winding polygons */
PC_TRAPEZOID = 4 ; /* Can do trapezoids */
PC_SCANLINE = 8 ; /* Can do scanlines */
PC_WIDE = 16 ; /* Can do wide borders */
PC_STYLED = 32 ; /* Can do styled borders */
PC_WIDESTYLED = 64 ; /* Can do wide styled borders */
PC_INTERIORS = 128; /* Can do interiors */
;
; Polygonal Capabilities */
CP_NONE = 0 ; /* No clipping of output */
CP_RECTANGLE = 1 ; /* Output clipped to rects */
;
; Text Capabilities
TC_OP_CHARACTER = 0001h ; /* Can do OutputPrecision CHARACTER */
TC_OP_STROKE = 0002h ; /* Can do OutputPrecision STROKE */
TC_CP_STROKE = 0004h ; /* Can do ClipPrecision STROKE */
TC_CR_90 = 0008h ; /* Can do CharRotAbility 90 */
TC_CR_ANY = 0010h ; /* Can do CharRotAbility ANY */
TC_SF_X_YINDEP = 0020h ; /* Can do ScaleFreedom X_YINDEPENDENT */
TC_SA_DOUBLE = 0040h ; /* Can do ScaleAbility DOUBLE */
TC_SA_INTEGER = 0080h ; /* Can do ScaleAbility INTEGER */
TC_SA_CONTIN = 0100h ; /* Can do ScaleAbility CONTINUOUS */
TC_EA_DOUBLE = 0200h ; /* Can do EmboldenAbility DOUBLE */
TC_IA_ABLE = 0400h ; /* Can do ItalisizeAbility ABLE */
TC_UA_ABLE = 0800h ; /* Can do UnderlineAbility ABLE */
TC_SO_ABLE = 1000h ; /* Can do StrikeOutAbility ABLE */
TC_RA_ABLE = 2000h ; /* Can do RasterFontAble ABLE */
TC_VA_ABLE = 4000h ; /* Can do VectorFontAble ABLE */
TC_RESERVED = 8000h
;
; Raster Capabilities
RC_BITBLT = 1 ; /* Can do standard BLT. */
RC_BANDING = 2 ; /* Device requires banding support */
RC_SCALING = 4 ; /* Device requires scaling support */
RC_BITMAP64 = 8 ; /* Device can support >64K bitmap */
RC_GDI20_OUTPUT = 0010h ; /* has 2.0 output calls */
RC_DI_BITMAP = 0080h ; /* supports DIB to memory */
RC_PALETTE = 0100h ; /* supports a palette */
RC_DIBTODEV = 0200h ; /* supports DIBitsToDevice */
RC_BIGFONT = 0400h ; /* supports >64K fonts */
RC_STRETCHBLT = 0800h ; /* supports StretchBlt */
RC_FLOODFILL = 1000h ; /* supports FloodFill */
RC_STRETCHDIB = 2000h ; /* supports StretchDIBits */
endif ;NOGDICAPMASKS
; palette entry flags
;
PC_RESERVED = 1 ;/* palette index used for animation */
PC_EXPLICIT = 2 ;/* palette index is explicit to device */
PC_NOCOLLAPSE = 4 ;/* do not match color to system palette */
; DIB color table identifiers
;
DIB_RGB_COLORS = 0 ;/* color table in RGBTriples */
DIB_PAL_COLORS = 1 ;/* color table in palette indices */
;
;constants for Get/SetSystemPaletteUse()
;
SYSPAL_STATIC = 1
SYSPAL_NOSTATIC = 2
; constants for CreateDIBitmap
CBM_INIT = 4 ;/* initialize bitmap */
;
; Bitmap format constants
BI_RGB = 0
BI_RLE8 = 1
BI_RLE4 = 2
;
;
ANSI_CHARSET = 0
SYMBOL_CHARSET = 2
OEM_CHARSET = 255
;
; styles for CombineRgn
;
RGN_AND = 1
RGN_OR = 2
RGN_XOR = 3
RGN_DIFF = 4
RGN_COPY = 5
;
; Predefined cursor & icon IDs
;
IDC_ARROW = 32512
IDC_IBEAM = 32513
IDC_WAIT = 32514
IDC_CROSS = 32515
IDC_UPARROW = 32516
IDC_SIZE = 32640
IDC_ICON = 32641
IDC_SIZENWSE = 32642
IDC_SIZENESW = 32643
IDC_SIZEWE = 32644
IDC_SIZENS = 32645
IDI_APPLICATION = 32512
IDI_HAND = 32513
IDI_QUESTION = 32514
IDI_EXCLAMATION = 32515
IDI_ASTERISK = 32516
;
; OEM Resource Ordinal Numbers */
;
OBM_CLOSE = 32754
OBM_UPARROW = 32753
OBM_DNARROW = 32752
OBM_RGARROW = 32751
OBM_LFARROW = 32750
OBM_REDUCE = 32749
OBM_ZOOM = 32748
OBM_RESTORE = 32747
OBM_REDUCED = 32746
OBM_ZOOMD = 32745
OBM_RESTORED = 32744
OBM_UPARROWD = 32743
OBM_DNARROWD = 32742
OBM_RGARROWD = 32741
OBM_LFARROWD = 32740
OBM_MNARROW = 32739
OBM_COMBO = 32738
OBM_UPARROWI = 32737
OBM_DNARROWI = 32736
OBM_RGARROWI = 32735
OBM_LFARROWI = 32734
OBM_OLD_CLOSE = 32767
OBM_SIZE = 32766
OBM_OLD_UPARROW = 32765
OBM_OLD_DNARROW = 32764
OBM_OLD_RGARROW = 32763
OBM_OLD_LFARROW = 32762
OBM_BTSIZE = 32761
OBM_CHECK = 32760
OBM_CHECKBOXES = 32759
OBM_BTNCORNERS = 32758
OBM_OLD_REDUCE = 32757
OBM_OLD_ZOOM = 32756
OBM_OLD_RESTORE = 32755
OCR_NORMAL = 32512
OCR_IBEAM = 32513
OCR_WAIT = 32514
OCR_CROSS = 32515
OCR_UP = 32516
OCR_SIZE = 32640
OCR_ICON = 32641
OCR_SIZENWSE = 32642
OCR_SIZENESW = 32643
OCR_SIZEWE = 32644
OCR_SIZENS = 32645
OCR_SIZEALL = 32646
OCR_ICOCUR = 32647
OIC_SAMPLE = 32512
OIC_HAND = 32513
OIC_QUES = 32514
OIC_BANG = 32515
OIC_NOTE = 32516
;
; Scroll bar constants
;
SB_HORZ = 0
SB_VERT = 1
SB_CTL = 2
SB_BOTH = 3
;
; Scroll Commands
;
SB_LINEUP = 0
SB_LINEDOWN = 1
SB_PAGEUP = 2
SB_PAGEDOWN = 3
SB_THUMBPOSITION = 4
SB_THUMBTRACK = 5
SB_TOP = 6
SB_BOTTOM = 7
SB_ENDSCROLL = 8
;
; MessageBox type flags
;
IFNDEF NOMB
MB_OK = 0000H
MB_OKCANCEL = 0001H
MB_ABORTRETRYIGNORE = 0002H
MB_YESNOCANCEL = 0003H
MB_YESNO = 0004H
MB_RETRYCANCEL = 0005H
MB_ICONHAND = 0010H
MB_ICONQUESTION = 0020H
MB_ICONEXCLAMATION = 0030H
MB_ICONASTERISK = 0040H
MB_DEFBUTTON1 = 0000H
MB_DEFBUTTON2 = 0100H
MB_DEFBUTTON3 = 0200H
MB_APPLMODAL = 0000H
MB_SYSTEMMODAL = 1000H
MB_TASKMODAL = 2000H
MB_NOFOCUS = 8000H
;
; Conventional dialog box and message box command IDs
;
IDOK = 1
IDCANCEL = 2
IDABORT = 3
IDRETRY = 4
IDIGNORE = 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -