1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066 |
- {$IFNDEF FPC_DOTTEDUNITS}
- unit win31;
- {$ENDIF FPC_DOTTEDUNITS}
- {$MODE objfpc}
- {$if defined(FPC_MM_COMPACT) or defined(FPC_MM_LARGE) or defined(FPC_MM_HUGE)}
- {$define VAR_PARAMS_ARE_FAR}
- {$endif}
- interface
- {$IFDEF FPC_DOTTEDUNITS}
- uses
- WinApi.WinTypes;
- {$ELSE FPC_DOTTEDUNITS}
- uses
- wintypes;
- {$ENDIF FPC_DOTTEDUNITS}
- const
- GFSR_SYSTEMRESOURCES = $0000;
- GFSR_GDIRESOURCES = $0001;
- GFSR_USERRESOURCES = $0002;
- {****** LogParamError/LogError values *}
- { Error modifier bits }
- ERR_WARNING = $8000;
- ERR_PARAM = $4000;
- ERR_SIZE_MASK = $3000;
- ERR_BYTE = $1000;
- ERR_WORD = $2000;
- ERR_DWORD = $3000;
- {****** LogParamError() values *}
- { Generic parameter values }
- ERR_BAD_VALUE = $6001;
- ERR_BAD_FLAGS = $6002;
- ERR_BAD_INDEX = $6003;
- ERR_BAD_DVALUE = $7004;
- ERR_BAD_DFLAGS = $7005;
- ERR_BAD_DINDEX = $7006;
- ERR_BAD_PTR = $7007;
- ERR_BAD_FUNC_PTR = $7008;
- ERR_BAD_SELECTOR = $6009;
- ERR_BAD_STRING_PTR = $700a;
- ERR_BAD_HANDLE = $600b;
- { KERNEL parameter errors }
- ERR_BAD_HINSTANCE = $6020;
- ERR_BAD_HMODULE = $6021;
- ERR_BAD_GLOBAL_HANDLE = $6022;
- ERR_BAD_LOCAL_HANDLE = $6023;
- ERR_BAD_ATOM = $6024;
- ERR_BAD_HFILE = $6025;
- { USER parameter errors }
- ERR_BAD_HWND = $6040;
- ERR_BAD_HMENU = $6041;
- ERR_BAD_HCURSOR = $6042;
- ERR_BAD_HICON = $6043;
- ERR_BAD_HDWP = $6044;
- ERR_BAD_CID = $6045;
- ERR_BAD_HDRVR = $6046;
- { GDI parameter errors }
- ERR_BAD_COORDS = $7060;
- ERR_BAD_GDI_OBJECT = $6061;
- ERR_BAD_HDC = $6062;
- ERR_BAD_HPEN = $6063;
- ERR_BAD_HFONT = $6064;
- ERR_BAD_HBRUSH = $6065;
- ERR_BAD_HBITMAP = $6066;
- ERR_BAD_HRGN = $6067;
- ERR_BAD_HPALETTE = $6068;
- ERR_BAD_HMETAFILE = $6069;
- {**** LogError() values *}
- { KERNEL errors }
- ERR_GALLOC = $0001;
- ERR_GREALLOC = $0002;
- ERR_GLOCK = $0003;
- ERR_LALLOC = $0004;
- ERR_LREALLOC = $0005;
- ERR_LLOCK = $0006;
- ERR_ALLOCRES = $0007;
- ERR_LOCKRES = $0008;
- ERR_LOADMODULE = $0009;
- { USER errors }
- ERR_CREATEDLG2 = $0041;
- ERR_CREATEDLG = $0040;
- ERR_REGISTERCLASS = $0042;
- ERR_DCBUSY = $0043;
- ERR_CREATEWND = $0044;
- ERR_STRUCEXTRA = $0045;
- ERR_LOADSTR = $0046;
- ERR_LOADMENU = $0047;
- ERR_NESTEDBEGINPAINT = $0048;
- ERR_BADINDEX = $0049;
- ERR_CREATEMENU = $004a;
- { GDI errors }
- ERR_CREATEDC = $0080;
- ERR_CREATEMETA = $0081;
- ERR_DELOBJSELECTED = $0082;
- ERR_SELBITMAP = $0083;
- type
- { Debugging support (DEBUG SYSTEM ONLY) }
- LPWINDEBUGINFO = ^WINDEBUGINFO; far;
- WINDEBUGINFO = record
- flags: UINT;
- dwOptions: DWORD;
- dwFilter: DWORD;
- achAllocModule: array [0..7] of AnsiChar;
- dwAllocBreak: DWORD;
- dwAllocCount: DWORD;
- end;
- PWinDebugInfo = ^TWinDebugInfo;
- TWinDebugInfo = WINDEBUGINFO;
- const
- { WINDEBUGINFO flags values }
- WDI_OPTIONS = $0001;
- WDI_FILTER = $0002;
- WDI_ALLOCBREAK = $0004;
- { dwOptions values }
- DBO_CHECKHEAP = $0001;
- DBO_BUFFERFILL = $0004;
- DBO_DISABLEGPTRAPPING = $0010;
- DBO_CHECKFREE = $0020;
- DBO_SILENT = $8000;
- DBO_TRACEBREAK = $2000;
- DBO_WARNINGBREAK = $1000;
- DBO_NOERRORBREAK = $0800;
- DBO_NOFATALBREAK = $0400;
- DBO_INT3BREAK = $0100;
- { DebugOutput flags values }
- DBF_TRACE = $0000;
- DBF_WARNING = $4000;
- DBF_ERROR = $8000;
- DBF_FATAL = $c000;
- { dwFilter values }
- DBF_KERNEL = $1000;
- DBF_KRN_MEMMAN = $0001;
- DBF_KRN_LOADMODULE = $0002;
- DBF_KRN_SEGMENTLOAD = $0004;
- DBF_USER = $0800;
- DBF_GDI = $0400;
- DBF_MMSYSTEM = $0040;
- DBF_PENWIN = $0020;
- DBF_APPLICATION = $0008;
- DBF_DRIVER = $0010;
- { ExitWindows values }
- EW_REBOOTSYSTEM = $43;
- { Predefined Resource Types }
- OBM_UPARROWI = 32737;
- OBM_DNARROWI = 32736;
- OBM_RGARROWI = 32735;
- OBM_LFARROWI = 32734;
- type
- { GDI typedefs, structures, and functions }
- PSIZE = ^SIZE;
- NPSIZE = ^SIZE; near;
- LPSIZE = ^SIZE; far;
- SIZE = record
- cx: SmallInt;
- cy: SmallInt;
- end;
- TSize = SIZE;
- const
- { Drawing bounds accumulation APIs }
- DCB_RESET = $0001;
- DCB_ACCUMULATE = $0002;
- DCB_DIRTY = DCB_ACCUMULATE;
- DCB_SET = DCB_RESET or DCB_ACCUMULATE;
- DCB_ENABLE = $0004;
- DCB_DISABLE = $0008;
- { Color support }
- COLOR_INACTIVECAPTIONTEXT = 19;
- COLOR_BTNHIGHLIGHT = 20;
- { Font support }
- { OutPrecision values }
- OUT_TT_PRECIS = 4;
- OUT_DEVICE_PRECIS = 5;
- OUT_RASTER_PRECIS = 6;
- OUT_TT_ONLY_PRECIS = 7;
- { ClipPrecision values }
- CLIP_LH_ANGLES = $10;
- CLIP_TT_ALWAYS = $20;
- CLIP_EMBEDDED = $80;
- { tmPitchAndFamily values }
- TMPF_TRUETYPE = $04;
- type
- PPANOSE = ^PANOSE;
- LPPANOSE = ^PANOSE; far;
- PANOSE = record
- bFamilyType: BYTE;
- bSerifStyle: BYTE;
- bWeight: BYTE;
- bProportion: BYTE;
- bContrast: BYTE;
- bStrokeVariation: BYTE;
- bArmStyle: BYTE;
- bLetterform: BYTE;
- bMidline: BYTE;
- bXHeight: BYTE;
- end;
- TPanose = PANOSE;
- POUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC;
- LPOUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC; far;
- OUTLINETEXTMETRIC = record
- otmSize: UINT;
- otmTextMetrics: TEXTMETRIC;
- otmFiller: BYTE;
- otmPanoseNumber: PANOSE;
- otmfsSelection: UINT;
- otmfsType: UINT;
- otmsCharSlopeRise: SmallInt;
- otmsCharSlopeRun: SmallInt;
- otmItalicAngle: SmallInt;
- otmEMSquare: UINT;
- otmAscent: SmallInt;
- otmDescent: SmallInt;
- otmLineGap: UINT;
- otmsCapEmHeight: UINT;
- otmsXHeight: UINT;
- otmrcFontBox: RECT;
- otmMacAscent: SmallInt;
- otmMacDescent: SmallInt;
- otmMacLineGap: UINT;
- otmusMinimumPPEM: UINT;
- otmptSubscriptSize: POINT;
- otmptSubscriptOffset: POINT;
- otmptSuperscriptSize: POINT;
- otmptSuperscriptOffset: POINT;
- otmsStrikeoutSize: UINT;
- otmsStrikeoutPosition: SmallInt;
- otmsUnderscorePosition: SmallInt;
- otmsUnderscoreSize: SmallInt;
- otmpFamilyName: PSTR;
- otmpFaceName: PSTR;
- otmpStyleName: PSTR;
- otmpFullName: PSTR;
- end;
- TOutlineTextMetric = OUTLINETEXTMETRIC;
- { Structure passed to FONTENUMPROC }
- { NOTE: NEWTEXTMETRIC is the same as TEXTMETRIC plus 4 new fields }
- PNEWTEXTMETRIC = ^NEWTEXTMETRIC;
- NPNEWTEXTMETRIC = ^NEWTEXTMETRIC; near;
- LPNEWTEXTMETRIC = ^NEWTEXTMETRIC; far;
- NEWTEXTMETRIC = record
- tmHeight: SmallInt;
- tmAscent: SmallInt;
- tmDescent: SmallInt;
- tmInternalLeading: SmallInt;
- tmExternalLeading: SmallInt;
- tmAveCharWidth: SmallInt;
- tmMaxCharWidth: SmallInt;
- tmWeight: SmallInt;
- tmItalic: BYTE;
- tmUnderlined: BYTE;
- tmStruckOut: BYTE;
- tmFirstChar: BYTE;
- tmLastChar: BYTE;
- tmDefaultChar: BYTE;
- tmBreakChar: BYTE;
- tmPitchAndFamily: BYTE;
- tmCharSet: BYTE;
- tmOverhang: SmallInt;
- tmDigitizedAspectX: SmallInt;
- tmDigitizedAspectY: SmallInt;
- ntmFlags: DWORD;
- ntmSizeEM: UINT;
- ntmCellHeight: UINT;
- ntmAvgWidth: UINT;
- end;
- TNewTextMetric = NEWTEXTMETRIC;
- const
- { ntmFlags field flags }
- NTM_REGULAR = $00000040;
- NTM_BOLD = $00000020;
- NTM_ITALIC = $00000001;
- LF_FULLFACESIZE = 64;
- type
- { Structure passed to FONTENUMPROC }
- PENUMLOGFONT = ^ENUMLOGFONT;
- LPENUMLOGFONT = ^ENUMLOGFONT; far;
- ENUMLOGFONT = record
- elfLogFont: LOGFONT;
- elfFullName: array [0..LF_FULLFACESIZE-1] of AnsiChar;
- elfStyle: array [0..LF_FACESIZE-1] of AnsiChar;
- end;
- TEnumLogFont = ENUMLOGFONT;
- FONTENUMPROC = function(lpelf: LPENUMLOGFONT; lpntm: LPNEWTEXTMETRIC; FontType: SmallInt; lpData: LPARAM): SmallInt; far;
- const
- { EnumFonts font type values }
- TRUETYPE_FONTTYPE = $0004;
- type
- PGLYPHMETRICS = ^GLYPHMETRICS;
- LPGLYPHMETRICS = ^GLYPHMETRICS; far;
- GLYPHMETRICS = record
- gmBlackBoxX: UINT;
- gmBlackBoxY: UINT;
- gmptGlyphOrigin: POINT;
- gmCellIncX: SmallInt;
- gmCellIncY: SmallInt;
- end;
- TGlyphMetrics = GLYPHMETRICS;
- PFIXED = ^FIXED;
- LPFIXED = ^FIXED; far;
- FIXED = record
- fract: UINT;
- value: SmallInt;
- end;
- TFixed = FIXED;
- PMAT2 = ^MAT2;
- LPMAT2 = ^MAT2; far;
- MAT2 = record
- eM11: FIXED;
- eM12: FIXED;
- eM21: FIXED;
- eM22: FIXED;
- end;
- TMat2 = MAT2;
- const
- { GetGlyphOutline constants }
- GGO_METRICS = 0;
- GGO_BITMAP = 1;
- GGO_NATIVE = 2;
- TT_POLYGON_TYPE = 24;
- TT_PRIM_LINE = 1;
- TT_PRIM_QSPLINE = 2;
- type
- PPOINTFX = ^POINTFX;
- LPPOINTFX = ^POINTFX; far;
- POINTFX = record
- x: FIXED;
- y: FIXED;
- end;
- TPointFX = POINTFX;
- PTTPOLYCURVE = ^TTPOLYCURVE;
- LPTTPOLYCURVE = ^TTPOLYCURVE; far;
- TTPOLYCURVE = record
- wType: UINT;
- cpfx: UINT;
- apfx: array [0..0] of POINTFX;
- end;
- TTTPOLYCURVE = TTPolyCurve;
- PTTPOLYGONHEADER = ^TTPOLYGONHEADER;
- LPTTPOLYGONHEADER = ^TTPOLYGONHEADER; far;
- TTPOLYGONHEADER = record
- cb: DWORD;
- dwType: DWORD;
- pfxStart: POINTFX;
- end;
- TTTPolygonHeader = TTPOLYGONHEADER;
- PABC = ^ABC;
- LPABC = ^ABC; far;
- ABC = record
- abcA: SmallInt;
- abcB: UINT;
- abcC: SmallInt;
- end;
- TABC = ABC;
- PKERNINGPAIR = ^KERNINGPAIR;
- LPKERNINGPAIR = ^KERNINGPAIR; far;
- KERNINGPAIR = record
- wFirst: WORD;
- wSecond: WORD;
- iKernAmount: SmallInt;
- end;
- TKerningPair = KERNINGPAIR;
- PRASTERIZER_STATUS = ^RASTERIZER_STATUS;
- LPRASTERIZER_STATUS = ^RASTERIZER_STATUS; far;
- RASTERIZER_STATUS = record
- nSize: SmallInt;
- wFlags: SmallInt;
- nLanguageID: SmallInt;
- end;
- TRasterizer_Status = RASTERIZER_STATUS;
- const
- { bits defined in wFlags of RASTERIZER_STATUS }
- TT_AVAILABLE = $0001;
- TT_ENABLED = $0002;
- type
- { Printing support }
- PDOCINFO = ^DOCINFO;
- LPDOCINFO = ^DOCINFO; far;
- DOCINFO = record
- cbSize: SmallInt;
- lpszDocName: LPCSTR;
- lpszOutput: LPCSTR;
- end;
- TDocInfo = DOCINFO;
- { System Metrics }
- const
- { GetSystemMetrics() codes }
- SM_CXDOUBLECLK = 36;
- SM_CYDOUBLECLK = 37;
- SM_CXICONSPACING = 38;
- SM_CYICONSPACING = 39;
- SM_MENUDROPALIGNMENT = 40;
- SM_PENWINDOWS = 41;
- SM_DBCSENABLED = 42;
- SM_CMETRICS = 43;
- { System Parameters support }
- SPI_GETBEEP = 1;
- SPI_SETBEEP = 2;
- SPI_GETMOUSE = 3;
- SPI_SETMOUSE = 4;
- SPI_GETBORDER = 5;
- SPI_SETBORDER = 6;
- SPI_GETKEYBOARDSPEED = 10;
- SPI_SETKEYBOARDSPEED = 11;
- SPI_LANGDRIVER = 12;
- SPI_ICONHORIZONTALSPACING = 13;
- SPI_GETSCREENSAVETIMEOUT = 14;
- SPI_SETSCREENSAVETIMEOUT = 15;
- SPI_GETSCREENSAVEACTIVE = 16;
- SPI_SETSCREENSAVEACTIVE = 17;
- SPI_GETGRIDGRANULARITY = 18;
- SPI_SETGRIDGRANULARITY = 19;
- SPI_SETDESKWALLPAPER = 20;
- SPI_SETDESKPATTERN = 21;
- SPI_GETKEYBOARDDELAY = 22;
- SPI_SETKEYBOARDDELAY = 23;
- SPI_ICONVERTICALSPACING = 24;
- SPI_GETICONTITLEWRAP = 25;
- SPI_SETICONTITLEWRAP = 26;
- SPI_GETMENUDROPALIGNMENT = 27;
- SPI_SETMENUDROPALIGNMENT = 28;
- SPI_SETDOUBLECLKWIDTH = 29;
- SPI_SETDOUBLECLKHEIGHT = 30;
- SPI_GETICONTITLELOGFONT = 31;
- SPI_SETDOUBLECLICKTIME = 32;
- SPI_SETMOUSEBUTTONSWAP = 33;
- SPI_SETICONTITLELOGFONT = 34;
- SPI_GETFASTTASKSWITCH = 35;
- SPI_SETFASTTASKSWITCH = 36;
- { SystemParametersInfo flags }
- SPIF_UPDATEINIFILE = $0001;
- SPIF_SENDWININICHANGE = $0002;
- { Window message support }
- { GetQueueStatus flags }
- QS_KEY = $0001;
- QS_MOUSEMOVE = $0002;
- QS_MOUSEBUTTON = $0004;
- QS_MOUSE = QS_MOUSEMOVE or QS_MOUSEBUTTON;
- QS_POSTMESSAGE = $0008;
- QS_TIMER = $0010;
- QS_PAINT = $0020;
- QS_SENDMESSAGE = $0040;
- QS_ALLINPUT = $007f;
- { Power management }
- WM_POWER = $0048;
- { wParam for WM_POWER window message and DRV_POWER driver notification }
- PWR_OK = 1;
- PWR_FAIL = (-1);
- PWR_SUSPENDREQUEST = 1;
- PWR_SUSPENDRESUME = 2;
- PWR_CRITICALRESUME = 3;
- { Window class management }
- { Class field offsets for GetClassLong() and GetClassWord() }
- GCW_ATOM = (-32);
- { Window creation/destroy }
- { Window Styles }
- WS_EX_TOPMOST = $00000008;
- WS_EX_ACCEPTFILES = $00000010;
- WS_EX_TRANSPARENT = $00000020;
- type
- { Window size, position, Z-order, and visibility }
- PWINDOWPLACEMENT = ^WINDOWPLACEMENT;
- LPWINDOWPLACEMENT = ^WINDOWPLACEMENT; far;
- WINDOWPLACEMENT = record
- length: UINT;
- flags: UINT;
- showCmd: UINT;
- ptMinPosition: POINT;
- ptMaxPosition: POINT;
- rcNormalPosition: RECT;
- end;
- TWindowPlacement = WINDOWPLACEMENT;
- const
- WPF_SETMINPOSITION = $0001;
- WPF_RESTORETOMAXIMIZED = $0002;
- WM_WINDOWPOSCHANGING = $0046;
- WM_WINDOWPOSCHANGED = $0047;
- type
- { WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam }
- PWINDOWPOS = ^WINDOWPOS;
- LPWINDOWPOS = ^WINDOWPOS; far;
- WINDOWPOS = record
- hwnd: HWND;
- hwndInsertAfter: HWND;
- x: SmallInt;
- y: SmallInt;
- cx: SmallInt;
- cy: SmallInt;
- flags: UINT;
- end;
- TWindowPos = WINDOWPOS;
- const
- { Window drawing support }
- DCX_WINDOW = $00000001;
- DCX_CACHE = $00000002;
- DCX_CLIPCHILDREN = $00000008;
- DCX_CLIPSIBLINGS = $00000010;
- DCX_PARENTCLIP = $00000020;
- DCX_EXCLUDERGN = $00000040;
- DCX_INTERSECTRGN = $00000080;
- DCX_LOCKWINDOWUPDATE = $00000400;
- DCX_USESTYLE = $00010000;
- { Window scrolling }
- SW_SCROLLCHILDREN = $0001;
- SW_INVALIDATE = $0002;
- SW_ERASE = $0004;
- { Non-client window area management }
- { WM_NCCALCSIZE return flags }
- WVR_ALIGNTOP = $0010;
- WVR_ALIGNLEFT = $0020;
- WVR_ALIGNBOTTOM = $0040;
- WVR_ALIGNRIGHT = $0080;
- WVR_HREDRAW = $0100;
- WVR_VREDRAW = $0200;
- WVR_REDRAW = WVR_HREDRAW or WVR_VREDRAW;
- WVR_VALIDRECTS = $0400;
- type
- { WM_NCCALCSIZE parameter structure }
- PNCCALCSIZE_PARAMS = ^NCCALCSIZE_PARAMS;
- LPNCCALCSIZE_PARAMS = ^NCCALCSIZE_PARAMS; far;
- NCCALCSIZE_PARAMS = record
- rgrc: array [0..2] of RECT;
- lppos: LPWINDOWPOS;
- end;
- TNCCalcSize_Params = NCCALCSIZE_PARAMS;
- { Mouse input support }
- const
- { WM_MOUSEACTIVATE return codes }
- MA_NOACTIVATEANDEAT = 4;
- { Menu support }
- { Flags for TrackPopupMenu }
- TPM_RIGHTBUTTON = $0002;
- TPM_LEFTALIGN = $0000;
- TPM_CENTERALIGN = $0004;
- TPM_RIGHTALIGN = $0008;
- { MDI Support }
- { MDI client style bits }
- MDIS_ALLCHILDSTYLES = $0001;
- { wParam values for WM_MDITILE and WM_MDICASCADE messages. }
- MDITILE_VERTICAL = $0000;
- MDITILE_HORIZONTAL = $0001;
- MDITILE_SKIPDISABLED = $0002;
- { Static control }
- { Static Control Mesages }
- STM_SETICON = (WM_USER+0);
- STM_GETICON = (WM_USER+1);
- { Edit control }
- { Edit control styles }
- ES_READONLY = $00000800;
- ES_WANTRETURN = $00001000;
- { Edit control messages }
- 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);
- type
- EDITWORDBREAKPROC = function(lpch: LPSTR; ichCurrent, cch, code: SmallInt): SmallInt; far;
- const
- { EDITWORDBREAKPROC code values }
- WB_LEFT = 0;
- WB_RIGHT = 1;
- WB_ISDELIMITER = 2;
- { Listbox control }
- { Listbox styles }
- LBS_DISABLENOSCROLL = $1000;
- { Listbox messages }
- LB_SETITEMHEIGHT = (WM_USER+33);
- LB_GETITEMHEIGHT = (WM_USER+34);
- LB_FINDSTRINGEXACT = (WM_USER+35);
- { Combo box control }
- { Combo box styles }
- CBS_DISABLENOSCROLL = $0800;
- { Combo box messages }
- CB_GETDROPPEDCONTROLRECT = (WM_USER+18);
- CB_SETITEMHEIGHT = (WM_USER+19);
- CB_GETITEMHEIGHT = (WM_USER+20);
- CB_SETEXTENDEDUI = (WM_USER+21);
- CB_GETEXTENDEDUI = (WM_USER+22);
- CB_GETDROPPEDSTATE = (WM_USER+23);
- CB_FINDSTRINGEXACT = (WM_USER+24);
- { Combo box notification codes }
- CBN_CLOSEUP = 8;
- CBN_SELENDOK = 9;
- CBN_SELENDCANCEL = 10;
- { Computer-based-training (CBT) support }
- type
- { HCBT_CREATEWND parameters pointed to by lParam }
- PCBT_CREATEWND = ^CBT_CREATEWND;
- LPCBT_CREATEWND = ^CBT_CREATEWND; far;
- CBT_CREATEWND = record
- lpcs: LPCREATESTRUCT;
- hwndInsertAfter: HWND;
- end;
- TCBT_CreateWnd = CBT_CREATEWND;
- { HCBT_ACTIVATE structure pointed to by lParam }
- PCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT;
- LPCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT; far;
- CBTACTIVATESTRUCT = record
- fMouse: BOOL;
- hWndActive: HWND;
- end;
- TCBTActivateStruct = CBTACTIVATESTRUCT;
- const
- { Hardware hook support }
- WH_HARDWARE = 8;
- type
- PHARDWAREHOOKSTRUCT = ^HARDWAREHOOKSTRUCT;
- LPHARDWAREHOOKSTRUCT = ^HARDWAREHOOKSTRUCT; far;
- HARDWAREHOOKSTRUCT = record
- hWnd: HWND;
- wMessage: UINT;
- wParam: WPARAM;
- lParam: LPARAM;
- end;
- THardwareHookStruct = HARDWAREHOOKSTRUCT;
- { Shell support }
- const
- { SetWindowsHook() Shell hook code }
- WH_SHELL = 10;
- HSHELL_WINDOWCREATED = 1;
- HSHELL_WINDOWDESTROYED = 2;
- HSHELL_ACTIVATESHELLWINDOW = 3;
- { Debugger support }
- { SetWindowsHook debug hook support }
- WH_DEBUG = 9;
- type
- PDEBUGHOOKINFO = ^DEBUGHOOKINFO;
- LPDEBUGHOOKINFO = ^DEBUGHOOKINFO; far;
- DEBUGHOOKINFO = record
- hModuleHook: HMODULE;
- reserved: LPARAM;
- lParam: LPARAM;
- wParam: WPARAM;
- code: SmallInt;
- end;
- TDebugHookInfo = DEBUGHOOKINFO;
- const
- { Flags returned by GetSystemDebugState. }
- SDS_MENU = $0001;
- SDS_SYSMODAL = $0002;
- SDS_NOTASKQUEUE = $0004;
- SDS_DIALOG = $0008;
- SDS_TASKLOCKED = $0010;
- { Comm support }
- { new escape functions }
- GETMAXLPT = 8;
- GETMAXCOM = 9;
- GETBASEIRQ = 10;
- { Comm Baud Rate indices }
- CBR_110 = $FF10;
- CBR_300 = $FF11;
- CBR_600 = $FF12;
- CBR_1200 = $FF13;
- CBR_2400 = $FF14;
- CBR_4800 = $FF15;
- CBR_9600 = $FF16;
- CBR_14400 = $FF17;
- CBR_19200 = $FF18;
- CBR_38400 = $FF1B;
- CBR_56000 = $FF1F;
- CBR_128000 = $FF23;
- CBR_256000 = $FF27;
- { notifications passed in low word of lParam on WM_COMMNOTIFY messages }
- CN_RECEIVE = $0001;
- CN_TRANSMIT = $0002;
- CN_EVENT = $0004;
- WM_COMMNOTIFY = $0044;
- type
- { Driver support }
- HDRVR = THandle;
- DRIVERPROC = function(dwDriverIdentifier: DWORD; hDriver: HDRVR; msg: UINT; lParam1, lParam2: LPARAM): LRESULT; far;
- const
- { Driver messages }
- DRV_LOAD = $0001;
- DRV_ENABLE = $0002;
- DRV_OPEN = $0003;
- DRV_CLOSE = $0004;
- DRV_DISABLE = $0005;
- DRV_FREE = $0006;
- DRV_CONFIGURE = $0007;
- DRV_QUERYCONFIGURE = $0008;
- DRV_INSTALL = $0009;
- DRV_REMOVE = $000A;
- DRV_EXITSESSION = $000B;
- DRV_EXITAPPLICATION = $000C;
- DRV_POWER = $000F;
- DRV_RESERVED = $0800;
- DRV_USER = $4000;
- type
- { LPARAM of DRV_CONFIGURE message }
- PDRVCONFIGINFO = ^DRVCONFIGINFO;
- LPDRVCONFIGINFO = ^DRVCONFIGINFO; far;
- DRVCONFIGINFO = record
- dwDCISize: DWORD;
- lpszDCISectionName: LPCSTR;
- lpszDCIAliasName: LPCSTR;
- end;
- TDrvConfigInfo = DRVCONFIGINFO;
- const
- { Supported return values for DRV_CONFIGURE message }
- DRVCNF_CANCEL = $0000;
- DRVCNF_OK = $0001;
- DRVCNF_RESTART = $0002;
- { Supported lParam1 of DRV_EXITAPPLICATION notification }
- DRVEA_NORMALEXIT = $0001;
- DRVEA_ABNORMALEXIT = $0002;
- { GetNextDriver flags }
- GND_FIRSTINSTANCEONLY = $00000001;
- GND_FORWARD = $00000000;
- GND_REVERSE = $00000002;
- type
- PDRIVERINFOSTRUCT = ^DRIVERINFOSTRUCT;
- LPDRIVERINFOSTRUCT = ^DRIVERINFOSTRUCT; far;
- DRIVERINFOSTRUCT = record
- length: UINT;
- hDriver: HDRVR;
- hModule: HINST;
- szAliasName: array [0..127] of AnsiChar;
- end;
- TDriverInfoStruct = DRIVERINFOSTRUCT;
- function GetFreeSystemResources(SysResource: UINT): UINT; external 'USER';
- procedure LogError(err: UINT; lpInfo: FarPointer); external 'KERNEL';
- procedure LogParamError(err: UINT; lpfn: FARPROC; param: FarPointer); external 'KERNEL';
- function GetWinDebugInfo(lpwdi: LPWINDEBUGINFO; flags: UINT): BOOL; external 'KERNEL';
- function SetWinDebugInfo(lpwdi: LPWINDEBUGINFO): BOOL; external 'KERNEL';
- procedure DebugOutput(flags: UINT; lpsz: LPCSTR; etc: array of const); cdecl; external 'KERNEL' name '_DebugOutput';
- function ExitWindowsExec(Exe, Params: LPCSTR): BOOL; external 'USER';
- { Pointer validation }
- function IsBadReadPtr(lp: FarPointer; cb: UINT): BOOL; external 'KERNEL';
- function IsBadWritePtr(lp: FarPointer; cb: UINT): BOOL; external 'KERNEL';
- function IsBadHugeReadPtr(lp: HugePointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeReadPtr(lp: FarPointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeWritePtr(lp: HugePointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeWritePtr(lp: FarPointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadCodePtr(lpfn: FARPROC): BOOL; external 'KERNEL';
- function IsBadStringPtr(lpsz: LPSTR; cchMax: UINT): BOOL; external 'KERNEL';
- { Task Management }
- function IsTask(Task: HTASK): BOOL; external 'KERNEL';
- { File I/O }
- function _hread(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
- function _hwrite(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
- { International & AnsiChar Translation Support }
- function lstrcpyn(lpszString1: LPSTR; lpszString2: LPCSTR; cChars: SmallInt): LPSTR; external 'KERNEL';
- procedure hmemcpy(hpvDest, hpvSource: HugePointer; cbCopy: LongInt); external 'KERNEL';
- procedure hmemcpy(hpvDest, hpvSource: FarPointer; cbCopy: LongInt); external 'KERNEL';
- function IsDBCSLeadByte(bTestChar: BYTE): BOOL; external 'KERNEL';
- { Drawing bounds accumulation APIs }
- function SetBoundsRect(hDC: HDC; lprcBounds: LPRECT; flags: UINT): UINT; external 'GDI';
- function GetBoundsRect(hDC: HDC; lprcBounds: LPRECT; flags: UINT): UINT; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function SetBoundsRect(hDC: HDC; const lprcBounds: RECT; flags: UINT): UINT; external 'GDI';
- function GetBoundsRect(hDC: HDC; var lprcBounds: RECT; flags: UINT): UINT; external 'GDI';
- {$endif}
- { Coordinate transformation support }
- function SetWindowOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetWindowOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- function SetWindowExtEx(hdc: HDC; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function GetWindowExtEx(hdc: HDC; lpSize: LPSIZE): BOOL; external 'GDI';
- function OffsetWindowOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function ScaleWindowExtEx(hdc: HDC; nXnum, nXdenom, nYnum, nYdenom: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function SetViewportExtEx(hdc: HDC; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function GetViewportExtEx(hdc: HDC; lpSize: LPSIZE): BOOL; external 'GDI';
- function SetViewportOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetViewportOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- function OffsetViewportOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function ScaleViewportExtEx(hdc: HDC; nXnum, nXdenom, nYnum, nYdenom: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- { Brush support }
- function GetBrushOrgEx(hDC: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- { General drawing support }
- function MoveToEx(hdc: HDC; x, y: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetCurrentPositionEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- { Text support }
- function GetTextExtentPoint(hdc: HDC; lpszString: LPCSTR; cbString: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function GetTextExtentPoint(hdc: HDC; lpszString: LPCSTR; cbString: SmallInt; var Size: SIZE): BOOL; external 'GDI';
- {$endif}
- { Font support }
- function GetAspectRatioFilterEx(hdc: HDC; lpAspectRatio: LPSIZE): BOOL; external 'GDI';
- function GetOutlineTextMetrics(hdc: HDC; cbData: UINT; lpotm: LPOUTLINETEXTMETRIC): WORD; external 'GDI';
- function EnumFontFamilies(hdc: HDC; lpszFamily: LPCSTR; fntenmprc: FONTENUMPROC; lParam: LPARAM): SmallInt; external 'GDI';
- function EnumFontFamilies(hdc: HDC; lpszFamily: LPCSTR; fntenmprc: TFarProc; lParam: LPARAM): SmallInt; external 'GDI';
- function GetFontData(hdc: HDC; dwTable, dwOffset: DWORD; lpvBuffer: FarPointer; cbData: DWORD): DWORD; external 'GDI';
- function CreateScalableFontResource(fHidden: UINT; lpszResourceFile, lpszFontFile, lpszCurrentPath: LPCSTR): BOOL; external 'GDI';
- function GetGlyphOutline(hdc: HDC; uChar, fuFormat: UINT; lpgm: LPGLYPHMETRICS; cbBuffer: DWORD; lpBuffer: FarPointer; lpmat2: LPMAT2): DWORD; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function GetGlyphOutline(hdc: HDC; uChar, fuFormat: UINT; var gm: GLYPHMETRICS; cbBuffer: DWORD; lpBuffer: FarPointer; var mat2: MAT2): DWORD; external 'GDI';
- {$endif}
- function GetCharABCWidths(hdc: HDC; uFirstChar, uLastChar: UINT; lpabc: LPABC): BOOL; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function GetCharABCWidths(hdc: HDC; uFirstChar, uLastChar: UINT; var abc: ABC): BOOL; external 'GDI';
- {$endif}
- function GetKerningPairs(hdc: HDC; cPairs: SmallInt; lpkrnpair: LPKERNINGPAIR): SmallInt; external 'GDI';
- function GetRasterizerCaps(lpraststat: LPRASTERIZER_STATUS; cb: SmallInt): BOOL; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function GetRasterizerCaps(var raststat: RASTERIZER_STATUS; cb: SmallInt): BOOL; external 'GDI';
- {$endif}
- { Bitmap support }
- function SetBitmapDimensionEx(hbm: HBITMAP; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function GetBitmapDimensionEx(hBitmap: HBITMAP; lpDimension: LPSIZE): BOOL; external 'GDI';
- { Metafile support }
- function SetMetaFileBitsBetter(hmf: HGLOBAL): HMETAFILE; external 'GDI';
- { Printing support }
- function StartDoc(hdc: HDC; lpdi: LPDOCINFO): SmallInt; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function StartDoc(hdc: HDC; var di: DOCINFO): SmallInt; external 'GDI';
- {$endif}
- function StartPage(hdc: HDC): SmallInt; external 'GDI';
- function EndPage(hdc: HDC): SmallInt; external 'GDI';
- function EndDoc(hdc: HDC): SmallInt; external 'GDI';
- function AbortDoc(hdc: HDC): SmallInt; external 'GDI';
- function SetAbortProc(hdc: HDC; abrtprc: ABORTPROC): SmallInt; external 'GDI';
- function SpoolFile(lpszPrinter, lpszPort, lpszJob, lpszFile: LPSTR): HANDLE; external 'GDI';
- { System Parameters support }
- function SystemParametersInfo(uAction, uParam: UINT; lpvParam: FarPointer; fuWinIni: UINT): BOOL; external 'USER';
- { Rectangle support }
- function SubtractRect(lprcDest: LPRECT; lprcSource1, lprcSource2: LPRECT): BOOL; external 'USER';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function SubtractRect(var rcDest: RECT; var rcSource1, rcSource2: RECT): BOOL; external 'USER';
- {$endif}
- { Window message support }
- function GetMessageExtraInfo: LPARAM; external 'USER';
- function GetQueueStatus(flags: UINT): DWORD; external 'USER';
- { Window class management }
- { in Windows 3.1+, RegisterClass returns an ATOM that unquely identifies the
- class. In Windows 3.0 and earlier, the return value is BOOL. That's why we
- redefine this function in the win31 unit. }
- function RegisterClass(lpwc: LPWNDCLASS): ATOM; external 'USER';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function RegisterClass(var wc: WNDCLASS): ATOM; external 'USER';
- {$endif}
- { Window size, position, Z-order, and visibility }
- function GetWindowPlacement(hwnd: HWND; lpwndpl: LPWINDOWPLACEMENT): BOOL; external 'USER';
- function SetWindowPlacement(hwnd: HWND; lpwndpl: LPWINDOWPLACEMENT): BOOL; external 'USER';
- { Window coordinate mapping and hit-testing }
- procedure MapWindowPoints(hwndFrom, hwndTo: HWND; lppt: LPPOINT; cpt: UINT); external 'USER';
- {$ifdef VAR_PARAMS_ARE_FAR}
- procedure MapWindowPoints(hwndFrom, hwndTo: HWND; var pt: POINT; cpt: UINT); external 'USER';
- {$endif}
- { Window drawing support }
- { note: the first parameter in this function is declared 'register' in windows.h, even though
- the calling convention of the function is 'pascal'
- todo: figure out whether the first parameter really needs to be passed in register, or
- whether the 'register' modifier is ignored by 16-bit C compilers, when the calling
- convention is 'pascal'.
- }
- function GetDCEx({register} hwnd: HWND; hrgnClip: HRGN; flags: DWORD): HDC; external 'USER';
- { Window repainting }
- function LockWindowUpdate(hwndLock: HWND): BOOL; external 'USER';
- function RedrawWindow(hwnd: HWND; lprcUpdate: LPRECT; hrgnUpdate: HRGN; flags: UINT): BOOL; external 'USER';
- { Window scrolling }
- function ScrollWindowEx(hwnd: HWND; dx, dy: SmallInt;
- prcScroll, prcClip: LPRECT;
- hrgnUpdate: HRGN; prcUpdate: LPRECT; flags: UINT): SmallInt; external 'USER';
- { Menu support }
- function IsMenu(hmenu: HMENU): BOOL; external 'USER';
- { Scroll bar support }
- function EnableScrollBar(hwnd: HWND; fnSBFlags: SmallInt; fuArrowFlags: UINT): BOOL; external 'USER';
- { Clipboard Manager Functions }
- function GetOpenClipboardWindow: HWND; external 'USER';
- { Mouse cursor support }
- function CopyCursor(hinst: HINST; hcur: HCURSOR): HCURSOR; external 'USER';
- function GetCursor: HCURSOR; external 'USER';
- procedure GetClipCursor(lprc: LPRECT); external 'USER';
- {$ifdef VAR_PARAMS_ARE_FAR}
- procedure GetClipCursor(var rc: RECT); external 'USER';
- {$endif}
- { Icon support }
- function CopyIcon(hinst: HINST; hicon: HICON): HICON; external 'USER';
- { Dialog directory support }
- function DlgDirSelectEx(hwndDlg: HWND; lpszPath: LPSTR; cbPath, idListBox: SmallInt): BOOL; external 'USER';
- function DlgDirSelectComboBoxEx(hwndDlg: HWND; lpszPath: LPSTR; cbPath, idComboBox: SmallInt): BOOL; external 'USER';
- { Windows hook support }
- function SetWindowsHookEx(idHook: SmallInt; lpfn: HOOKPROC; hInstance: HINST; hTask: HTASK): HHOOK; external 'USER';
- function UnhookWindowsHookEx(hHook: HHOOK): BOOL; external 'USER';
- function CallNextHookEx(hHook: HHOOK; code: SmallInt; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'USER';
- { Debugger support }
- function QuerySendMessage(h1, h2, h3: HANDLE; lpmsg: LPMSG): BOOL; external 'USER';
- function LockInput(h1: HANDLE; hwndInput: HWND; fLock: BOOL): BOOL; external 'USER';
- function GetSystemDebugState: LONG; external 'USER';
- { Comm support }
- function EnableCommNotification(idComDev: SmallInt; hwnd: HWND; cbWriteNotify, cbOutQueue: SmallInt): BOOL; external 'USER';
- { Driver support }
- function DefDriverProc(dwDriverIdentifier: DWORD; driverID: HDRVR; message: UINT; lParam1, lParam2: LPARAM): LRESULT; external 'USER';
- function OpenDriver(szDriverName, szSectionName: LPCSTR; lParam2: LPARAM): HDRVR; external 'USER';
- function CloseDriver(hDriver: HDRVR; lParam1, lParam2: LPARAM): LRESULT; external 'USER';
- function SendDriverMessage(hDriver: HDRVR; message: UINT; lParam1, lParam2: LPARAM): LRESULT; external 'USER';
- function GetDriverModuleHandle(hDriver: HDRVR): HINST; external 'USER';
- function GetNextDriver(hdrvr: HDRVR; fdwFlag: DWORD): HDRVR; external 'USER';
- function GetDriverInfo(hdrvr: HDRVR; lpdis: LPDRIVERINFOSTRUCT): BOOL; external 'USER';
- implementation
- end.
|