📄 windows.h
字号:
#if (WINVER >= 0x030a)
#define OUT_TT_PRECIS 4
#define OUT_DEVICE_PRECIS 5
#define OUT_RASTER_PRECIS 6
#define OUT_TT_ONLY_PRECIS 7
#endif /* WINVER >= 0x030a */
/* ClipPrecision values */
#define CLIP_DEFAULT_PRECIS 0x00
#define CLIP_CHARACTER_PRECIS 0x01
#define CLIP_STROKE_PRECIS 0x02
#define CLIP_MASK 0x0F
#if (WINVER >= 0x030a)
#define CLIP_LH_ANGLES 0x10
#define CLIP_TT_ALWAYS 0x20
#define CLIP_EMBEDDED 0x80
#endif /* WINVER >= 0x030a */
/* Quality values */
#define DEFAULT_QUALITY 0
#define DRAFT_QUALITY 1
#define PROOF_QUALITY 2
/* PitchAndFamily pitch values (low 4 bits) */
#define DEFAULT_PITCH 0x00
#define FIXED_PITCH 0x01
#define VARIABLE_PITCH 0x02
/* PitchAndFamily family values (high 4 bits) */
#define FF_DONTCARE 0x00
#define FF_ROMAN 0x10
#define FF_SWISS 0x20
#define FF_MODERN 0x30
#define FF_SCRIPT 0x40
#define FF_DECORATIVE 0x50
HFONT WINAPI CreateFont(int, int, int, int, int, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, BYTE, LPCSTR);
HFONT WINAPI CreateFontIndirect(const LOGFONT FAR*);
/* Stock fonts for use with GetStockObject() */
#define OEM_FIXED_FONT 10
#define ANSI_FIXED_FONT 11
#define ANSI_VAR_FONT 12
#define SYSTEM_FONT 13
#define DEVICE_DEFAULT_FONT 14
#define DEFAULT_PALETTE 15
#define SYSTEM_FIXED_FONT 16
DWORD WINAPI SetMapperFlags(HDC, DWORD);
#define ASPECT_FILTERING 0x00000001L
int WINAPI AddFontResource(LPCSTR);
BOOL WINAPI RemoveFontResource(LPCSTR);
#define WM_FONTCHANGE 0x001D
int WINAPI GetTextFace(HDC, int, LPSTR);
DWORD WINAPI GetAspectRatioFilter(HDC);
#if (WINVER >= 0x030a)
BOOL WINAPI GetAspectRatioFilterEx(HDC, SIZE FAR*);
#endif /* WINVER >= 0x030a */
#endif /* NOGDIOBJ */
#ifndef NOTEXTMETRIC
typedef struct tagTEXTMETRIC
{
int tmHeight;
int tmAscent;
int tmDescent;
int tmInternalLeading;
int tmExternalLeading;
int tmAveCharWidth;
int tmMaxCharWidth;
int tmWeight;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
int tmOverhang;
int tmDigitizedAspectX;
int tmDigitizedAspectY;
} TEXTMETRIC;
typedef TEXTMETRIC* PTEXTMETRIC;
typedef TEXTMETRIC NEAR* NPTEXTMETRIC;
typedef TEXTMETRIC FAR* LPTEXTMETRIC;
/* tmPitchAndFamily values */
#define TMPF_FIXED_PITCH 0x01
#define TMPF_VECTOR 0x02
#define TMPF_DEVICE 0x08
#if (WINVER >= 0x030a)
#define TMPF_TRUETYPE 0x04
#endif /* WINVER >= 0x030a */
BOOL WINAPI GetTextMetrics(HDC, TEXTMETRIC FAR*);
#if (WINVER >= 0x030a)
#ifndef NOSCALABLEFONT
typedef struct tagPANOSE
{
BYTE bFamilyType;
BYTE bSerifStyle;
BYTE bWeight;
BYTE bProportion;
BYTE bContrast;
BYTE bStrokeVariation;
BYTE bArmStyle;
BYTE bLetterform;
BYTE bMidline;
BYTE bXHeight;
} PANOSE, FAR* LPPANOSE;
typedef struct tagOUTLINETEXTMETRIC
{
UINT otmSize;
TEXTMETRIC otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscorePosition;
int otmsUnderscoreSize;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRIC, FAR* LPOUTLINETEXTMETRIC;
WORD WINAPI GetOutlineTextMetrics(HDC, UINT, OUTLINETEXTMETRIC FAR*);
#endif /* WINVER >= 0x030a */
#endif /* NOSCALABLEFONT */
#ifndef NOGDIOBJ
#if (WINVER >= 0x030a)
/* Structure passed to FONTENUMPROC */
/* NOTE: NEWTEXTMETRIC is the same as TEXTMETRIC plus 4 new fields */
typedef struct tagNEWTEXTMETRIC
{
int tmHeight;
int tmAscent;
int tmDescent;
int tmInternalLeading;
int tmExternalLeading;
int tmAveCharWidth;
int tmMaxCharWidth;
int tmWeight;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
int tmOverhang;
int tmDigitizedAspectX;
int tmDigitizedAspectY;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRIC;
typedef NEWTEXTMETRIC* PNEWTEXTMETRIC;
typedef NEWTEXTMETRIC NEAR* NPNEWTEXTMETRIC;
typedef NEWTEXTMETRIC FAR* LPNEWTEXTMETRIC;
/* ntmFlags field flags */
#define NTM_REGULAR 0x00000040L
#define NTM_BOLD 0x00000020L
#define NTM_ITALIC 0x00000001L
#define LF_FULLFACESIZE 64
/* Structure passed to FONTENUMPROC */
typedef struct tagENUMLOGFONT
{
LOGFONT elfLogFont;
char elfFullName[LF_FULLFACESIZE];
char elfStyle[LF_FACESIZE];
} ENUMLOGFONT, FAR* LPENUMLOGFONT;
#endif /* WINVER >= 0x030a */
#endif /* NOGDIOBJ */
#ifdef STRICT
#ifndef NOGDIOBJ
typedef int (CALLBACK* OLDFONTENUMPROC)(const LOGFONT FAR*, const TEXTMETRIC FAR*, int, LPARAM);
#if (WINVER >= 0x030a)
typedef int (CALLBACK* FONTENUMPROC)(const ENUMLOGFONT FAR*, const NEWTEXTMETRIC FAR*, int, LPARAM);
int WINAPI EnumFontFamilies(HDC, LPCSTR, FONTENUMPROC, LPARAM);
#else /* WINVER >= 0x030a */
typedef OLDFONTENUMPROC FONTENUMPROC;
#endif /* WINVER >= 0x030a */
int WINAPI EnumFonts(HDC, LPCSTR, OLDFONTENUMPROC, LPARAM);
#endif /* NOGDIOBJ */
#else /* STRICT */
typedef FARPROC OLDFONTENUMPROC;
typedef FARPROC FONTENUMPROC;
int WINAPI EnumFonts(HDC, LPCSTR, OLDFONTENUMPROC, LPSTR);
#if (WINVER >= 0x030a)
int WINAPI EnumFontFamilies(HDC, LPCSTR, FONTENUMPROC, LPSTR);
#endif /* WINVER >= 0x030a */
#endif /* !STRICT */
/* EnumFonts font type values */
#define RASTER_FONTTYPE 0x0001
#define DEVICE_FONTTYPE 0X0002
#if (WINVER >= 0x030a)
#define TRUETYPE_FONTTYPE 0x0004
#endif /* WINVER >= 0x030a */
#endif /* NOTEXTMETRIC */
#ifndef NOSCALABLEFONT
#if (WINVER >= 0x030a)
DWORD WINAPI GetFontData(HDC, DWORD, DWORD, void FAR*, DWORD);
BOOL WINAPI CreateScalableFontResource(UINT, LPCSTR, LPCSTR, LPCSTR);
typedef struct tagGLYPHMETRICS
{
UINT gmBlackBoxX;
UINT gmBlackBoxY;
POINT gmptGlyphOrigin;
int gmCellIncX;
int gmCellIncY;
} GLYPHMETRICS, FAR* LPGLYPHMETRICS;
typedef struct tagFIXED
{
UINT fract;
int value;
} FIXED, FAR* LPFIXED;
typedef struct tagMAT2
{
FIXED eM11;
FIXED eM12;
FIXED eM21;
FIXED eM22;
} MAT2, FAR* LPMAT2;
DWORD WINAPI GetGlyphOutline(HDC, UINT, UINT, GLYPHMETRICS FAR*, DWORD, void FAR*, const MAT2 FAR*);
/* GetGlyphOutline constants */
#define GGO_METRICS 0
#define GGO_BITMAP 1
#define GGO_NATIVE 2
#define TT_POLYGON_TYPE 24
#define TT_PRIM_LINE 1
#define TT_PRIM_QSPLINE 2
typedef struct tagPOINTFX
{
FIXED x;
FIXED y;
} POINTFX, FAR* LPPOINTFX;
typedef struct tagTTPOLYCURVE
{
UINT wType;
UINT cpfx;
POINTFX apfx[1];
} TTPOLYCURVE, FAR* LPTTPOLYCURVE;
typedef struct tagTTPOLYGONHEADER
{
DWORD cb;
DWORD dwType;
POINTFX pfxStart;
} TTPOLYGONHEADER, FAR* LPTTPOLYGONHEADER;
typedef struct tagABC
{
int abcA;
UINT abcB;
int abcC;
} ABC;
typedef ABC FAR* LPABC;
BOOL WINAPI GetCharABCWidths(HDC, UINT, UINT, ABC FAR*);
typedef struct tagKERNINGPAIR
{
WORD wFirst;
WORD wSecond;
int iKernAmount;
} KERNINGPAIR, FAR* LPKERNINGPAIR;
int WINAPI GetKerningPairs(HDC, int, KERNINGPAIR FAR*);
typedef struct tagRASTERIZER_STATUS
{
int nSize;
int wFlags;
int nLanguageID;
} RASTERIZER_STATUS;
typedef RASTERIZER_STATUS FAR* LPRASTERIZER_STATUS;
/* bits defined in wFlags of RASTERIZER_STATUS */
#define TT_AVAILABLE 0x0001
#define TT_ENABLED 0x0002
BOOL WINAPI GetRasterizerCaps(RASTERIZER_STATUS FAR*, int);
#endif /* WINVER >= 0x030a */
#endif /* NOSCALABLEFONT */
/****** Bitmap support ******************************************************/
#ifndef NOBITMAP
typedef struct tagBITMAP
{
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
BYTE bmPlanes;
BYTE bmBitsPixel;
void FAR* bmBits;
} BITMAP;
typedef BITMAP* PBITMAP;
typedef BITMAP NEAR* NPBITMAP;
typedef BITMAP FAR* LPBITMAP;
/* Bitmap Header structures */
typedef struct tagRGBTRIPLE
{
BYTE rgbtBlue;
BYTE rgbtGreen;
BYTE rgbtRed;
} RGBTRIPLE;
typedef RGBTRIPLE FAR* LPRGBTRIPLE;
typedef struct tagRGBQUAD
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
typedef RGBQUAD FAR* LPRGBQUAD;
/* structures for defining DIBs */
typedef struct tagBITMAPCOREHEADER
{
DWORD bcSize;
short bcWidth;
short bcHeight;
WORD bcPlanes;
WORD bcBitCount;
} BITMAPCOREHEADER;
typedef BITMAPCOREHEADER* PBITMAPCOREHEADER;
typedef BITMAPCOREHEADER FAR* LPBITMAPCOREHEADER;
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
typedef BITMAPINFOHEADER* PBITMAPINFOHEADER;
typedef BITMAPINFOHEADER FAR* LPBITMAPINFOHEADER;
/* constants for the biCompression field */
#define BI_RGB 0L
#define BI_RLE8 1L
#define BI_RLE4 2L
typedef struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
typedef BITMAPINFO* PBITMAPINFO;
typedef BITMAPINFO FAR* LPBITMAPINFO;
typedef struct tagBITMAPCOREINFO
{
BITMAPCOREHEADER bmciHeader;
RGBTRIPLE bmciColors[1];
} BITMAPCOREINFO;
typedef BITMAPCOREINFO* PBITMAPCOREINFO;
typedef BITMAPCOREINFO FAR* LPBITMAPCOREINFO;
typedef struct tagBITMAPFILEHEADER
{
UINT bfType;
DWORD bfSize;
UINT bfReserved1;
UINT bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
typedef BITMAPFILEHEADER* PBITMAPFILEHEADER;
typedef BITMAPFIL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -