WINDOWS.DEF 96 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721
  1. (* Windows Release 3.00 *)
  2. (* Copyright (C) 1989..1991 Jensen & Partners International *)
  3. (*# call(near_call=>off, reg_param=>(),
  4. reg_saved=>(ds,si,di,st1,st2),
  5. o_a_copy=>off, o_a_size=>off,
  6. result_optional=>on,
  7. seg_name=>Windows, ds_eq_ss=>off) *)
  8. (*# module(implementation=>off, init_code => off) *)
  9. (*# data(near_ptr=>off) *)
  10. (*# name(prefix=>windows) *)
  11. DEFINITION MODULE Windows;
  12. CONST
  13. NULL = 0;
  14. True = 1;
  15. False = 0;
  16. TYPE
  17. BOOL = INTEGER;
  18. LPSTR = POINTER TO ARRAY[0..MAX(CARDINAL)-1] OF CHAR;
  19. LPBYTE = POINTER TO SHORTCARD;
  20. LPINT = POINTER TO INTEGER;
  21. LPWORD = POINTER TO CARDINAL;
  22. LPLONG = POINTER TO LONGINT;
  23. LPDWORD = POINTER TO LONGCARD;
  24. LPVOID = ADDRESS;
  25. HANDLE = CARDINAL;
  26. HWND = CARDINAL;
  27. LPHANDLE = POINTER TO CARDINAL;
  28. GLOBALHANDLE = CARDINAL;
  29. LOCALHANDLE = CARDINAL;
  30. FARPROC = PROCEDURE () : INTEGER;
  31. HSTR = HANDLE;
  32. HICON = HANDLE;
  33. HDC = HANDLE;
  34. HMENU = HANDLE;
  35. HPEN = HANDLE;
  36. HFONT = HANDLE;
  37. HBRUSH = HANDLE;
  38. HBITMAP = HANDLE;
  39. HCURSOR = HANDLE;
  40. HRGN = HANDLE;
  41. HPALETTE = HANDLE;
  42. COLORREF = LONGCARD;
  43. RECT = RECORD
  44. left : INTEGER;
  45. top : INTEGER;
  46. right : INTEGER;
  47. bottom : INTEGER;
  48. END;
  49. LPRECT = POINTER TO RECT;
  50. POINT = RECORD
  51. x : INTEGER;
  52. y : INTEGER;
  53. END;
  54. LPPOINT = POINTER TO POINT;
  55. TYPE
  56. MAKEINTRESOURCE = LPSTR;
  57. MAKEINTATOM = LPSTR;
  58. PROCEDURE EntryPoint(); (* This is the entry point for a *)
  59. (* windows main module *)
  60. PROCEDURE GetVersion() : CARDINAL;
  61. PROCEDURE GetNumTasks() : CARDINAL;
  62. PROCEDURE GetCodeHandle(_:FARPROC) : HANDLE;
  63. PROCEDURE GetCodeInfo(lpProc : FARPROC; lpSegInfo : ADDRESS);
  64. PROCEDURE GetModuleHandle(_:ARRAY OF CHAR) : HANDLE;
  65. PROCEDURE GetModuleUsage(_:HANDLE) : INTEGER;
  66. PROCEDURE GetModuleFileName(_:HANDLE; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  67. PROCEDURE GetInstanceData(_:HANDLE; _:NearADDRESS; _:INTEGER) : INTEGER;
  68. PROCEDURE GetProcAddress(_:HANDLE; _:ARRAY OF CHAR) : FARPROC;
  69. PROCEDURE MakeProcInstance(_:FARPROC; _:HANDLE) : FARPROC;
  70. PROCEDURE FreeProcInstance(_:FARPROC);
  71. PROCEDURE LoadLibrary(_:ARRAY OF CHAR) : HANDLE;
  72. PROCEDURE LoadModule(_:ARRAY OF CHAR; _:ADDRESS) : HANDLE;
  73. PROCEDURE FreeModule(_:HANDLE) : BOOL;
  74. PROCEDURE FreeLibrary(_:HANDLE);
  75. PROCEDURE GetFreeSpace(_:CARDINAL) : LONGCARD;
  76. PROCEDURE WinExec(_:ARRAY OF CHAR; _:CARDINAL) : CARDINAL;
  77. PROCEDURE DebugBreak();
  78. PROCEDURE OutputDebugString(_:ARRAY OF CHAR);
  79. PROCEDURE SwitchStackBack();
  80. PROCEDURE SwitchStackTo(_:CARDINAL; _:CARDINAL; _:CARDINAL);
  81. PROCEDURE GetCurrentPDB() : CARDINAL;
  82. TYPE
  83. OFSTRUCT = RECORD
  84. cBytes : SHORTCARD;
  85. fFixedDisk : SHORTCARD;
  86. nErrCode : CARDINAL;
  87. reserved : ARRAY [0..3] OF SHORTCARD;
  88. szPathName : ARRAY [0..127] OF CHAR;
  89. END;
  90. LPOFSTRUCT = POINTER TO OFSTRUCT;
  91. CONST
  92. OF_READ = 00H;
  93. OF_WRITE = 01H;
  94. OF_READWRITE = 02H;
  95. OF_SHARE_COMPAT = 00H;
  96. OF_SHARE_EXCLUSIVE = 010H;
  97. OF_SHARE_DENY_WRITE = 020H;
  98. OF_SHARE_DENY_READ = 030H;
  99. OF_SHARE_DENY_NONE = 040H;
  100. OF_PARSE = 0100H;
  101. OF_DELETE = 0200H;
  102. OF_VERIFY = 0400H;
  103. OF_CANCEL = 0800H;
  104. OF_CREATE = 01000H;
  105. OF_PROMPT = 02000H;
  106. OF_EXIST = 04000H;
  107. OF_REOPEN = 08000H;
  108. PROCEDURE OpenFile(_:ARRAY OF CHAR; VAR _:OFSTRUCT; _:CARDINAL) : INTEGER;
  109. CONST
  110. TF_FORCEDRIVE = 080H;
  111. PROCEDURE GetTempDrive(_:SHORTCARD) : SHORTCARD;
  112. PROCEDURE GetTempFileName(_:SHORTCARD; _:ARRAY OF CHAR; _:CARDINAL; _:ARRAY OF CHAR) : INTEGER;
  113. PROCEDURE SetHandleCount(_:CARDINAL) : CARDINAL;
  114. PROCEDURE GetDriveType(_:INTEGER) : CARDINAL;
  115. CONST
  116. DRIVE_REMOVABLE = 2;
  117. DRIVE_FIXED = 3;
  118. DRIVE_REMOTE = 4;
  119. GMEM_FIXED = 00H;
  120. GMEM_MOVEABLE = 02H;
  121. GMEM_NOCOMPACT = 010H;
  122. GMEM_NODISCARD = 020H;
  123. GMEM_ZEROINIT = 040H;
  124. GMEM_MODIFY = 080H;
  125. GMEM_DISCARDABLE = 0100H;
  126. GMEM_NOT_BANKED = 01000H;
  127. GMEM_SHARE = 02000H;
  128. GMEM_DDESHARE = 02000H;
  129. GMEM_NOTIFY = 04000H;
  130. GMEM_LOWER = GMEM_NOT_BANKED;
  131. GHND = 042H; (* GMEM_MOVEABLE OR GMEM_ZEROINIT *)
  132. GPTR = 040H; (* GMEM_FIXED OR GMEM_ZEROINIT *)
  133. (* GlobalDiscard(x) ::= GlobalReAlloc(x, 0, GMEM_MOVEABLE) *)
  134. PROCEDURE GlobalAlloc(_:CARDINAL; _:LONGCARD) : HANDLE;
  135. PROCEDURE GlobalCompact(_:LONGCARD) : LONGCARD;
  136. PROCEDURE GlobalFree(_:HANDLE) : HANDLE;
  137. PROCEDURE GlobalHandle(_:CARDINAL) : LONGCARD;
  138. PROCEDURE GlobalLock(_:HANDLE) : LPSTR;
  139. PROCEDURE GlobalReAlloc(_:HANDLE; _:LONGCARD; _:CARDINAL) : HANDLE;
  140. PROCEDURE GlobalSize(_:HANDLE) : LONGCARD;
  141. PROCEDURE GlobalUnlock(_:HANDLE) : BOOL;
  142. PROCEDURE GlobalFlags(_:HANDLE) : CARDINAL;
  143. PROCEDURE GlobalWire(_:HANDLE) : LPSTR;
  144. PROCEDURE GlobalUnWire(_:HANDLE) : BOOL;
  145. PROCEDURE GlobalLRUNewest(_:HANDLE) : HANDLE;
  146. PROCEDURE GlobalLRUOldest(_:HANDLE) : HANDLE;
  147. PROCEDURE GlobalNotify(_:FARPROC);
  148. PROCEDURE GlobalPageLock(_:HANDLE) : CARDINAL;
  149. PROCEDURE GlobalPageUnlock(_:HANDLE) : CARDINAL;
  150. PROCEDURE GlobalFix(_:HANDLE);
  151. PROCEDURE GlobalUnfix(_:HANDLE) : BOOL;
  152. CONST
  153. GMEM_DISCARDED = 04000H;
  154. GMEM_LOCKCOUNT = 0FFH;
  155. DataSegment = 0FFFFH;
  156. (* LockData ::= LockSegment(DataSegment) *)
  157. (* UnlockData ::= UnlockSegment(DataSegment) *)
  158. PROCEDURE LockSegment(_:CARDINAL) : HANDLE;
  159. PROCEDURE UnlockSegment(_:CARDINAL) : HANDLE;
  160. CONST
  161. LMEM_FIXED = 00H;
  162. LMEM_MOVEABLE = 02H;
  163. LMEM_NOCOMPACT = 010H;
  164. LMEM_NODISCARD = 020H;
  165. LMEM_ZEROINIT = 040H;
  166. LMEM_MODIFY = 080H;
  167. LMEM_DISCARDABLE = 0F00H;
  168. LHND = 042H; (* LMEM_MOVEABLE OR LMEM_ZEROINIT *)
  169. LPTR = 040H; (* LMEM_FIXED OR LMEM_ZEROINIT *)
  170. NONZEROLHND = LMEM_MOVEABLE;
  171. NONZEROLPTR = LMEM_FIXED;
  172. LNOTIFY_OUTOFMEM = 0;
  173. LNOTIFY_MOVE = 1;
  174. LNOTIFY_DISCARD = 2;
  175. VAR
  176. pLocalHeap : NearADDRESS;
  177. (* LocalDiscard(x) ::= LocalReAlloc(x, 0, LMEM_MOVEABLE) *)
  178. PROCEDURE LocalAlloc(_:CARDINAL; _:CARDINAL) : HANDLE;
  179. PROCEDURE LocalCompact(_:CARDINAL) : CARDINAL;
  180. PROCEDURE LocalFree(_:HANDLE) : HANDLE;
  181. PROCEDURE LocalHandle(_:CARDINAL) : HANDLE;
  182. PROCEDURE LocalInit(_:CARDINAL; _:CARDINAL; _:CARDINAL) : BOOL;
  183. PROCEDURE LocalLock(_:HANDLE) : NearADDRESS;
  184. PROCEDURE LocalNotify(_:FARPROC) : FARPROC;
  185. PROCEDURE LocalReAlloc(_:HANDLE; _:CARDINAL; _:CARDINAL) : HANDLE;
  186. PROCEDURE LocalSize(_:HANDLE) : CARDINAL;
  187. PROCEDURE LocalUnlock(_:HANDLE) : BOOL;
  188. PROCEDURE LocalFlags(_:HANDLE) : CARDINAL;
  189. PROCEDURE LocalShrink(_:HANDLE; _:CARDINAL) : CARDINAL;
  190. CONST
  191. LMEM_DISCARDED = 04000H;
  192. LMEM_LOCKCOUNT = 0FFH;
  193. PROCEDURE SetSwapAreaSize(_:CARDINAL) : LONGINT;
  194. PROCEDURE ValidateFreeSpaces() : LPSTR;
  195. PROCEDURE LimitEmsPages(_:LONGCARD);
  196. PROCEDURE SetErrorMode(_:CARDINAL) : BOOL;
  197. PROCEDURE ValidateCodeSegments();
  198. CONST
  199. UnlockResource ::= GlobalUnlock;
  200. PROCEDURE FindResource(_:HANDLE; _:ARRAY OF CHAR; _:FarADDRESS) : HANDLE;
  201. PROCEDURE LoadResource(_:HANDLE; _:HANDLE) : HANDLE;
  202. PROCEDURE FreeResource(_:HANDLE) : BOOL;
  203. PROCEDURE LockResource(_:HANDLE) : LPSTR;
  204. PROCEDURE SetResourceHandler(_:HANDLE; _:FarADDRESS; _:FARPROC) : FARPROC;
  205. PROCEDURE AllocResource(_:HANDLE; _:HANDLE; _:LONGCARD) : HANDLE;
  206. PROCEDURE SizeofResource(_:HANDLE; _:HANDLE) : CARDINAL;
  207. PROCEDURE AccessResource(_:HANDLE; _:HANDLE) : INTEGER;
  208. CONST
  209. DIFFERENCE = 11;
  210. RT_CURSOR = LPSTR(1);
  211. RT_BITMAP = LPSTR(2);
  212. RT_ICON = LPSTR(3);
  213. RT_MENU = LPSTR(4);
  214. RT_DIALOG = LPSTR(5);
  215. RT_STRING = LPSTR(6);
  216. RT_FONTDIR = LPSTR(7);
  217. RT_FONT = LPSTR(8);
  218. RT_ACCELERATOR = LPSTR(9);
  219. RT_RCDATA = LPSTR(10);
  220. RT_GROUP_CURSOR = LPSTR(12);
  221. RT_GROUP_ICON = LPSTR(14);
  222. PROCEDURE Yield();
  223. PROCEDURE GetCurrentTask() : HANDLE;
  224. TYPE
  225. ATOM = CARDINAL;
  226. PROCEDURE InitAtomTable(_:INTEGER) : BOOL;
  227. PROCEDURE AddAtom(_:ARRAY OF CHAR) : ATOM;
  228. PROCEDURE DeleteAtom(_:ATOM) : ATOM;
  229. PROCEDURE FindAtom(_:ARRAY OF CHAR) : ATOM;
  230. PROCEDURE GetAtomName(_:ATOM; _:ARRAY OF CHAR; _:INTEGER) : CARDINAL;
  231. PROCEDURE GlobalAddAtom(_:ARRAY OF CHAR) : ATOM;
  232. PROCEDURE GlobalDeleteAtom(_:ATOM) : ATOM;
  233. PROCEDURE GlobalFindAtom(_:ARRAY OF CHAR) : ATOM;
  234. PROCEDURE GlobalGetAtomName(_:ATOM; _:ARRAY OF CHAR; _:INTEGER) : CARDINAL;
  235. PROCEDURE GetAtomHandle(_:ATOM) : HANDLE;
  236. PROCEDURE GetProfileInt(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER) : CARDINAL;
  237. PROCEDURE GetProfileString(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  238. PROCEDURE WriteProfileString(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : BOOL;
  239. PROCEDURE GetPrivateProfileInt(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER; _:ARRAY OF CHAR) : CARDINAL;
  240. PROCEDURE GetPrivateProfileString(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER; _:ARRAY OF CHAR) : INTEGER;
  241. PROCEDURE WritePrivateProfileString(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : BOOL;
  242. PROCEDURE GetWindowsDirectory(_:ARRAY OF CHAR; _:CARDINAL) : CARDINAL;
  243. PROCEDURE GetSystemDirectory(_:ARRAY OF CHAR; _:CARDINAL) : CARDINAL;
  244. TYPE
  245. CATCHBUF = ARRAY [0..8] OF INTEGER;
  246. LPCATCHBUF = POINTER TO CATCHBUF;
  247. PROCEDURE Catch(VAR _:INTEGER) : INTEGER;
  248. PROCEDURE Throw(VAR _:INTEGER; _:INTEGER);
  249. PROCEDURE FatalExit(_:INTEGER);
  250. PROCEDURE SwapRecording(_:CARDINAL);
  251. PROCEDURE AnsiToOem(_:ARRAY OF CHAR; _:ARRAY OF CHAR) : INTEGER;
  252. PROCEDURE OemToAnsi(_:ARRAY OF CHAR; _:ARRAY OF CHAR) : BOOL;
  253. PROCEDURE AnsiToOemBuff(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER);
  254. PROCEDURE OemToAnsiBuff(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:INTEGER);
  255. PROCEDURE AnsiUpper(_:ARRAY OF CHAR) : LPSTR;
  256. PROCEDURE AnsiUpperBuff(_:ARRAY OF CHAR; _:CARDINAL) : CARDINAL;
  257. PROCEDURE AnsiLower(_:ARRAY OF CHAR) : LPSTR;
  258. PROCEDURE AnsiLowerBuff(_:ARRAY OF CHAR; _:CARDINAL) : CARDINAL;
  259. PROCEDURE AnsiNext(_:ARRAY OF CHAR) : LPSTR;
  260. PROCEDURE AnsiPrev(_:ARRAY OF CHAR; _:ARRAY OF CHAR) : LPSTR;
  261. PROCEDURE OemKeyScan(_:CARDINAL) : LONGCARD;
  262. PROCEDURE VkKeyScan(_:CARDINAL) : CARDINAL;
  263. PROCEDURE GetKeyboardType(_:INTEGER) : INTEGER;
  264. PROCEDURE GetKBCodePage() : INTEGER;
  265. PROCEDURE GetKeyNameText(_:LONGINT; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  266. PROCEDURE ToAscii(wVirtKey : CARDINAL; wScanCode : CARDINAL; lpKeyState : ARRAY OF CHAR; lpChar : ADDRESS; wFlags : CARDINAL) : INTEGER;
  267. PROCEDURE IsCharAlpha(_:CHAR) : BOOL;
  268. PROCEDURE IsCharAlphaNumeric(_:CHAR) : BOOL;
  269. PROCEDURE IsCharUpper(_:CHAR) : BOOL;
  270. PROCEDURE IsCharLower(_:CHAR) : BOOL;
  271. PROCEDURE GetWinFlags() : LONGINT;
  272. CONST
  273. WF_PMODE = 01H;
  274. WF_CPU286 = 02H;
  275. WF_CPU386 = 04H;
  276. WF_CPU486 = 08H;
  277. WF_STANDARD = 010H;
  278. WF_WIN286 = 010H;
  279. WF_ENHANCED = 020H;
  280. WF_WIN386 = 020H;
  281. WF_CPU086 = 040H;
  282. WF_CPU186 = 080H;
  283. WF_LARGEFRAME = 0100H;
  284. WF_SMALLFRAME = 0200H;
  285. WF_80x87 = 0400H;
  286. WEP_SYSTEM_EXIT = 1;
  287. WEP_FREE_DLL = 0;
  288. R2_BLACK = 1;
  289. R2_NOTMERGEPEN = 2;
  290. R2_MASKNOTPEN = 3;
  291. R2_NOTCOPYPEN = 4;
  292. R2_MASKPENNOT = 5;
  293. R2_NOT = 6;
  294. R2_XORPEN = 7;
  295. R2_NOTMASKPEN = 8;
  296. R2_MASKPEN = 9;
  297. R2_NOTXORPEN = 10;
  298. R2_NOP = 11;
  299. R2_MERGENOTPEN = 12;
  300. R2_COPYPEN = 13;
  301. R2_MERGEPENNOT = 14;
  302. R2_MERGEPEN = 15;
  303. R2_WHITE = 16;
  304. SRCCOPY = 0CC0020H;
  305. SRCPAINT = 0EE0086H;
  306. SRCAND = 08800C6H;
  307. SRCINVERT = 0660046H;
  308. SRCERASE = 0440328H;
  309. NOTSRCCOPY = 0330008H;
  310. NOTSRCERASE = 01100A6H;
  311. MERGECOPY = 0C000CAH;
  312. MERGEPAINT = 0BB0226H;
  313. PATCOPY = 0F00021H;
  314. PATPAINT = 0FB0A09H;
  315. PATINVERT = 05A0049H;
  316. DSTINVERT = 0550009H;
  317. BLACKNESS = 042H;
  318. WHITENESS = 0FF0062H;
  319. BLACKONWHITE = 1;
  320. WHITEONBLACK = 2;
  321. COLORONCOLOR = 3;
  322. ALTERNATE = 1;
  323. WINDING = 2;
  324. TA_NOUPDATECP = 0;
  325. TA_UPDATECP = 1;
  326. TA_LEFT = 0;
  327. TA_RIGHT = 2;
  328. TA_CENTER = 6;
  329. TA_TOP = 0;
  330. TA_BOTTOM = 8;
  331. TA_BASELINE = 24;
  332. ETO_GRAYED = 1;
  333. ETO_OPAQUE = 2;
  334. ETO_CLIPPED = 4;
  335. ASPECT_FILTERING = 01H;
  336. META_SETBKCOLOR = 0201H;
  337. META_SETBKMODE = 0102H;
  338. META_SETMAPMODE = 0103H;
  339. META_SETROP2 = 0104H;
  340. META_SETRELABS = 0105H;
  341. META_SETPOLYFILLMODE = 0106H;
  342. META_SETSTRETCHBLTMODE = 0107H;
  343. META_SETTEXTCHAREXTRA = 0108H;
  344. META_SETTEXTCOLOR = 0209H;
  345. META_SETTEXTJUSTIFICATION = 020AH;
  346. META_SETWINDOWORG = 020BH;
  347. META_SETWINDOWEXT = 020CH;
  348. META_SETVIEWPORTORG = 020DH;
  349. META_SETVIEWPORTEXT = 020EH;
  350. META_OFFSETWINDOWORG = 020FH;
  351. META_SCALEWINDOWEXT = 0400H;
  352. META_OFFSETVIEWPORTORG = 0211H;
  353. META_SCALEVIEWPORTEXT = 0412H;
  354. META_LINETO = 0213H;
  355. META_MOVETO = 0214H;
  356. META_EXCLUDECLIPRECT = 0415H;
  357. META_INTERSECTCLIPRECT = 0416H;
  358. META_ARC = 0817H;
  359. META_ELLIPSE = 0418H;
  360. META_FLOODFILL = 0419H;
  361. META_PIE = 081AH;
  362. META_RECTANGLE = 041BH;
  363. META_ROUNDRECT = 061CH;
  364. META_PATBLT = 061DH;
  365. META_SAVEDC = 01EH;
  366. META_SETPIXEL = 041FH;
  367. META_OFFSETCLIPRGN = 0220H;
  368. META_TEXTOUT = 0521H;
  369. META_BITBLT = 0922H;
  370. META_STRETCHBLT = 0B23H;
  371. META_POLYGON = 0324H;
  372. META_POLYLINE = 0325H;
  373. META_ESCAPE = 0626H;
  374. META_RESTOREDC = 0127H;
  375. META_FILLREGION = 0228H;
  376. META_FRAMEREGION = 0429H;
  377. META_INVERTREGION = 012AH;
  378. META_PAINTREGION = 012BH;
  379. META_SELECTCLIPREGION = 012CH;
  380. META_SELECTOBJECT = 012DH;
  381. META_SETTEXTALIGN = 012EH;
  382. META_DRAWTEXT = 062FH;
  383. META_CHORD = 0830H;
  384. META_SETMAPPERFLAGS = 0231H;
  385. META_EXTTEXTOUT = 0A32H;
  386. META_SETDIBTODEV = 0D33H;
  387. META_SELECTPALETTE = 0234H;
  388. META_REALIZEPALETTE = 035H;
  389. META_ANIMATEPALETTE = 0436H;
  390. META_SETPALENTRIES = 037H;
  391. META_POLYPOLYGON = 0538H;
  392. META_RESIZEPALETTE = 0139H;
  393. META_DIBBITBLT = 0940H;
  394. META_DIBSTRETCHBLT = 0B41H;
  395. META_DIBCREATEPATTERNBRUSH= 0142H;
  396. META_STRETCHDIB = 0F43H;
  397. META_DELETEOBJECT = 01F0H;
  398. META_CREATEPALETTE = 0F7H;
  399. META_CREATEBRUSH = 0F8H;
  400. META_CREATEPATTERNBRUSH = 01F9H;
  401. META_CREATEPENINDIRECT = 02FAH;
  402. META_CREATEFONTINDIRECT = 02FBH;
  403. META_CREATEBRUSHINDIRECT = 02FCH;
  404. META_CREATEBITMAPINDIRECT = 02FDH;
  405. META_CREATEBITMAP = 06FEH;
  406. META_CREATEREGION = 06FFH;
  407. NEWFRAME = 1;
  408. ABORTDOC = 2;
  409. NEXTBAND = 3;
  410. SETCOLORTABLE = 4;
  411. GETCOLORTABLE = 5;
  412. FLUSHOUTPUT = 6;
  413. DRAFTMODE = 7;
  414. QUERYESCSUPPORT = 8;
  415. SETABORTPROC = 9;
  416. STARTDOC = 10;
  417. ENDDOC = 11;
  418. GETPHYSPAGESIZE = 12;
  419. GETPRINTINGOFFSET = 13;
  420. GETSCALINGFACTOR = 14;
  421. MFCOMMENT = 15;
  422. GETPENWIDTH = 16;
  423. SETCOPYCOUNT = 17;
  424. SELECTPAPERSOURCE = 18;
  425. DEVICEDATA = 19;
  426. PASSTHROUGH = 19;
  427. GETTECHNOLGY = 20;
  428. GETTECHNOLOGY = 20;
  429. SETENDCAP = 21;
  430. SETLINEJOIN = 22;
  431. SETMITERLIMIT = 23;
  432. BANDINFO = 24;
  433. DRAWPATTERNRECT = 25;
  434. GETVECTORPENSIZE = 26;
  435. GETVECTORBRUSHSIZE= 27;
  436. ENABLEDUPLEX = 28;
  437. GETSETPAPERBINS = 29;
  438. GETSETPRINTORIENT = 30;
  439. ENUMPAPERBINS = 31;
  440. SETDIBSCALING = 32;
  441. EPSPRINTING = 33;
  442. ENUMPAPERMETRICS = 34;
  443. GETSETPAPERMETRICS= 35;
  444. POSTSCRIPT_DATA = 37;
  445. POSTSCRIPT_IGNORE = 38;
  446. GETEXTENDEDTEXTMETRICS = 256;
  447. GETEXTENTTABLE = 257;
  448. GETPAIRKERNTABLE = 258;
  449. GETTRACKKERNTABLE = 259;
  450. EXTTEXTOUT = 512;
  451. ENABLERELATIVEWIDTHS = 768;
  452. ENABLEPAIRKERNING = 769;
  453. SETKERNTRACK = 770;
  454. SETALLJUSTVALUES = 771;
  455. SETCHARSET = 772;
  456. STRETCHBLT = 2048;
  457. BEGIN_PATH = 4096;
  458. CLIP_TO_PATH = 4097;
  459. END_PATH = 4098;
  460. EXT_DEVICE_CAPS = 4099;
  461. RESTORE_CTM = 4100;
  462. SAVE_CTM = 4101;
  463. SET_ARC_DIRECTION = 4102;
  464. SET_BACKGROUND_COLOR = 4103;
  465. SET_POLY_MODE = 4104;
  466. SET_SCREEN_ANGLE = 4105;
  467. SET_SPREAD = 4106;
  468. TRANSFORM_CTM = 4107;
  469. SET_CLIP_BOX = 4108;
  470. SET_BOUNDS = 4109;
  471. SP_NOTREPORTED = 04000H;
  472. SP_ERROR = -1;
  473. SP_APPABORT = -2;
  474. SP_USERABORT = -3;
  475. SP_OUTOFDISK = -4;
  476. SP_OUTOFMEMORY = -5;
  477. PR_JOBSTATUS = 00H;
  478. OBJ_PEN = 1;
  479. OBJ_BRUSH = 2;
  480. TYPE
  481. BITMAP = RECORD
  482. bmType : INTEGER;
  483. bmWidth : INTEGER;
  484. bmHeight : INTEGER;
  485. bmWidthBytes : INTEGER;
  486. bmPlanes : SHORTCARD;
  487. bmBitsPixel : SHORTCARD;
  488. bmBits : LPSTR;
  489. END;
  490. LPBITMAP = POINTER TO BITMAP;
  491. RGBTRIPLE = RECORD
  492. rgbtBlue : SHORTCARD;
  493. rgbtGreen : SHORTCARD;
  494. rgbtRed : SHORTCARD;
  495. END;
  496. RGBQUAD = RECORD
  497. rgbBlue : SHORTCARD;
  498. rgbGreen : SHORTCARD;
  499. rgbRed : SHORTCARD;
  500. rgbReserved : SHORTCARD;
  501. END;
  502. BITMAPCOREHEADER = RECORD
  503. bcSize : LONGCARD;
  504. bcWidth : CARDINAL;
  505. bcHeight : CARDINAL;
  506. bcPlanes : CARDINAL;
  507. bcBitCount : CARDINAL;
  508. END;
  509. LPBITMAPCOREHEADER = POINTER TO BITMAPCOREHEADER;
  510. BITMAPINFOHEADER = RECORD
  511. biSize : LONGCARD;
  512. biWidth : LONGCARD;
  513. biHeight : LONGCARD;
  514. biPlanes : CARDINAL;
  515. biBitCount : CARDINAL;
  516. biCompression : LONGCARD;
  517. biSizeImage : LONGCARD;
  518. biXPelsPerMeter : LONGCARD;
  519. biYPelsPerMeter : LONGCARD;
  520. biClrUsed : LONGCARD;
  521. biClrImportant : LONGCARD;
  522. END;
  523. LPBITMAPINFOHEADER = POINTER TO BITMAPINFOHEADER;
  524. CONST
  525. BI_RGB = 0;
  526. BI_RLE8 = 1;
  527. BI_RLE4 = 2;
  528. TYPE
  529. BITMAPINFO = RECORD
  530. bmiHeader : BITMAPINFOHEADER;
  531. bmiColors : ARRAY [0..0] OF RGBQUAD;
  532. END;
  533. LPBITMAPINFO = POINTER TO BITMAPINFO;
  534. BITMAPCOREINFO = RECORD
  535. bmciHeader : BITMAPCOREHEADER;
  536. bmciColors : ARRAY [0..0] OF RGBTRIPLE;
  537. END;
  538. LPBITMAPCOREINFO = POINTER TO BITMAPCOREINFO;
  539. BITMAPFILEHEADER = RECORD
  540. bfType : CARDINAL;
  541. bfSize : LONGCARD;
  542. bfReserved1 : CARDINAL;
  543. bfReserved2 : CARDINAL;
  544. bfOffBits : LONGCARD;
  545. END;
  546. LPBITMAPFILEHEADER = POINTER TO BITMAPFILEHEADER;
  547. TYPE
  548. HANDLETABLE = RECORD
  549. objectHandle : ARRAY [0..0] OF CARDINAL;
  550. END;
  551. LPHANDLETABLE = POINTER TO HANDLETABLE;
  552. METARECORD = RECORD
  553. rdSize : LONGCARD;
  554. rdFunction : CARDINAL;
  555. rdParm : ARRAY [0..0] OF CARDINAL;
  556. END;
  557. LPMETARECORD = POINTER TO METARECORD;
  558. METAFILEPICT = RECORD
  559. mm : INTEGER;
  560. xExt : INTEGER;
  561. yExt : INTEGER;
  562. hMF : HANDLE;
  563. END;
  564. LPMETAFILEPICT = POINTER TO METAFILEPICT;
  565. METAHEADER = RECORD
  566. mtType : CARDINAL;
  567. mtHeaderSize : CARDINAL;
  568. mtVersion : CARDINAL;
  569. mtSize : LONGCARD;
  570. mtNoObjects : CARDINAL;
  571. mtMaxRecord : LONGCARD;
  572. mtNoParameters : CARDINAL;
  573. END;
  574. TEXTMETRIC = RECORD
  575. tmHeight : CARDINAL;
  576. tmAscent : CARDINAL;
  577. tmDescent : CARDINAL;
  578. tmInternalLeading : CARDINAL;
  579. tmExternalLeading : CARDINAL;
  580. tmAveCharWidth : CARDINAL;
  581. tmMaxCharWidth : CARDINAL;
  582. tmWeight : CARDINAL;
  583. tmItalic : SHORTCARD;
  584. tmUnderlined : SHORTCARD;
  585. tmStruckOut : SHORTCARD;
  586. tmFirstChar : CHAR;
  587. tmLastChar : CHAR;
  588. tmDefaultChar : CHAR;
  589. tmBreakChar : CHAR;
  590. tmPitchAndFamily : SHORTCARD;
  591. tmCharSet : SHORTCARD;
  592. tmOverhang : INTEGER;
  593. tmDigitizedAspectX : INTEGER;
  594. tmDigitizedAspectY : INTEGER;
  595. END;
  596. LPTEXTMETRIC = POINTER TO TEXTMETRIC;
  597. PELARRAY = RECORD
  598. paXCount : INTEGER;
  599. paYCount : INTEGER;
  600. paXExt : INTEGER;
  601. paYExt : INTEGER;
  602. paRGBs : SHORTCARD;
  603. END;
  604. LPPELARRAY = POINTER TO PELARRAY;
  605. LOGBRUSH = RECORD
  606. lbStyle : CARDINAL;
  607. lbColor : LONGCARD;
  608. lbHatch : INTEGER;
  609. END;
  610. LPLOGBRUSH = POINTER TO LOGBRUSH;
  611. PATTERN = LOGBRUSH;
  612. LPPATTERN = POINTER TO LOGBRUSH;
  613. LOGPEN = RECORD
  614. lopnStyle : CARDINAL;
  615. lopnWidth : POINT;
  616. lopnColor : LONGCARD;
  617. END;
  618. LPLOGPEN = POINTER TO LOGPEN;
  619. PALETTEENTRY = RECORD
  620. peRed : SHORTCARD;
  621. peGreen : SHORTCARD;
  622. peBlue : SHORTCARD;
  623. peFlags : SHORTCARD;
  624. END;
  625. LPPALETTEENTRY = POINTER TO PALETTEENTRY;
  626. LOGPALETTE = RECORD
  627. palVersion : CARDINAL;
  628. palNumEntries : CARDINAL;
  629. palPalEntry : ARRAY [0..0] OF PALETTEENTRY;
  630. END;
  631. LPLOGPALETTE = POINTER TO LOGPALETTE;
  632. CONST
  633. LF_FACESIZE = 32;
  634. TYPE
  635. LOGFONT = RECORD
  636. lfHeight : INTEGER;
  637. lfWidth : INTEGER;
  638. lfEscapement : INTEGER;
  639. lfOrientation : INTEGER;
  640. lfWeight : INTEGER;
  641. lfItalic : SHORTCARD;
  642. lfUnderline : SHORTCARD;
  643. lfStrikeOut : SHORTCARD;
  644. lfCharSet : SHORTCARD;
  645. lfOutPrecision : SHORTCARD;
  646. lfClipPrecision : SHORTCARD;
  647. lfQuality : SHORTCARD;
  648. lfPitchAndFamily : SHORTCARD;
  649. lfFaceName : ARRAY [0..31] OF CHAR;
  650. END;
  651. LPLOGFONT = POINTER TO LOGFONT;
  652. CONST
  653. OUT_DEFAULT_PRECIS = 0;
  654. OUT_STRING_PRECIS = 1;
  655. OUT_CHARACTER_PRECIS = 2;
  656. OUT_STROKE_PRECIS = 3;
  657. CLIP_DEFAULT_PRECIS = 0;
  658. CLIP_CHARACTER_PRECIS = 1;
  659. CLIP_STROKE_PRECIS = 2;
  660. DEFAULT_QUALITY = 0;
  661. DRAFT_QUALITY = 1;
  662. PROOF_QUALITY = 2;
  663. DEFAULT_PITCH = 0;
  664. FIXED_PITCH = 1;
  665. VARIABLE_PITCH = 2;
  666. ANSI_CHARSET = 0;
  667. SYMBOL_CHARSET = 2;
  668. SHIFTJIS_CHARSET = 128;
  669. OEM_CHARSET = 255;
  670. FF_DONTCARE = (0<<4);
  671. FF_ROMAN = (1<<4);
  672. FF_SWISS = (2<<4);
  673. FF_MODERN = (3<<4);
  674. FF_SCRIPT = (4<<4);
  675. FF_DECORATIVE = (5<<4);
  676. CONST
  677. FW_DONTCARE = 0;
  678. FW_THIN = 100;
  679. FW_EXTRALIGHT = 200;
  680. FW_LIGHT = 300;
  681. FW_NORMAL = 400;
  682. FW_MEDIUM = 500;
  683. FW_SEMIBOLD = 600;
  684. FW_BOLD = 700;
  685. FW_EXTRABOLD = 800;
  686. FW_HEAVY = 900;
  687. FW_ULTRALIGHT = FW_EXTRALIGHT;
  688. FW_REGULAR = FW_NORMAL;
  689. FW_DEMIBOLD = FW_SEMIBOLD;
  690. FW_ULTRABOLD = FW_EXTRABOLD;
  691. FW_BLACK = FW_HEAVY;
  692. CONST
  693. RASTER_FONTTYPE = 01H;
  694. DEVICE_FONTTYPE = 02H;
  695. CONST
  696. TRANSPARENT = 1;
  697. OPAQUE = 2;
  698. MM_TEXT = 1;
  699. MM_LOMETRIC = 2;
  700. MM_HIMETRIC = 3;
  701. MM_LOENGLISH = 4;
  702. MM_HIENGLISH = 5;
  703. MM_TWIPS = 6;
  704. MM_ISOTROPIC = 7;
  705. MM_ANISOTROPIC = 8;
  706. ABSOLUTE = 1;
  707. RELATIVE = 2;
  708. WHITE_BRUSH = 0;
  709. LTGRAY_BRUSH = 1;
  710. GRAY_BRUSH = 2;
  711. DKGRAY_BRUSH = 3;
  712. BLACK_BRUSH = 4;
  713. NULL_BRUSH = 5;
  714. HOLLOW_BRUSH = NULL_BRUSH;
  715. CONST
  716. WHITE_PEN = 6;
  717. BLACK_PEN = 7;
  718. NULL_PEN = 8;
  719. OEM_FIXED_FONT = 10;
  720. ANSI_FIXED_FONT = 11;
  721. ANSI_VAR_FONT = 12;
  722. SYSTEM_FONT = 13;
  723. DEVICE_DEFAULT_FONT = 14;
  724. DEFAULT_PALETTE = 15;
  725. SYSTEM_FIXED_FONT = 16;
  726. BS_SOLID = 0;
  727. BS_NULL = 1;
  728. BS_HOLLOW = BS_NULL;
  729. BS_HATCHED = 2;
  730. BS_PATTERN = 3;
  731. BS_INDEXED = 4;
  732. BS_DIBPATTERN = 5;
  733. HS_HORIZONTAL = 0;
  734. HS_VERTICAL = 1;
  735. HS_FDIAGONAL = 2;
  736. HS_BDIAGONAL = 3;
  737. HS_CROSS = 4;
  738. HS_DIAGCROSS = 5;
  739. PS_SOLID = 0;
  740. PS_DASH = 1;
  741. PS_DOT = 2;
  742. PS_DASHDOT = 3;
  743. PS_DASHDOTDOT = 4;
  744. PS_NULL = 5;
  745. PS_INSIDEFRAME = 6;
  746. DRIVERVERSION = 0;
  747. TECHNOLOGY = 2;
  748. HORZSIZE = 4;
  749. VERTSIZE = 6;
  750. HORZRES = 8;
  751. VERTRES = 10;
  752. BITSPIXEL = 12;
  753. PLANES = 14;
  754. NUMBRUSHES = 16;
  755. NUMPENS = 18;
  756. NUMMARKERS = 20;
  757. NUMFONTS = 22;
  758. NUMCOLORS = 24;
  759. PDEVICESIZE = 26;
  760. CURVECAPS = 28;
  761. LINECAPS = 30;
  762. POLYGONALCAPS = 32;
  763. TEXTCAPS = 34;
  764. CLIPCAPS = 36;
  765. RASTERCAPS = 38;
  766. ASPECTX = 40;
  767. ASPECTY = 42;
  768. ASPECTXY = 44;
  769. LOGPIXELSX = 88;
  770. LOGPIXELSY = 90;
  771. SIZEPALETTE = 104;
  772. NUMRESERVED = 106;
  773. COLORRES = 108;
  774. DT_PLOTTER = 0;
  775. DT_RASDISPLAY = 1;
  776. DT_RASPRINTER = 2;
  777. DT_RASCAMERA = 3;
  778. DT_CHARSTREAM = 4;
  779. DT_METAFILE = 5;
  780. DT_DISPFILE = 6;
  781. CC_NONE = 0;
  782. CC_CIRCLES = 1;
  783. CC_PIE = 2;
  784. CC_CHORD = 4;
  785. CC_ELLIPSES = 8;
  786. CC_WIDE = 16;
  787. CC_STYLED = 32;
  788. CC_WIDESTYLED = 64;
  789. CC_INTERIORS = 128;
  790. LC_NONE = 0;
  791. LC_POLYLINE = 2;
  792. LC_MARKER = 4;
  793. LC_POLYMARKER = 8;
  794. LC_WIDE = 16;
  795. LC_STYLED = 32;
  796. LC_WIDESTYLED = 64;
  797. LC_INTERIORS = 128;
  798. PC_NONE = 0;
  799. PC_POLYGON = 1;
  800. PC_RECTANGLE = 2;
  801. PC_WINDPOLYGON = 4;
  802. PC_TRAPEZOID = 4;
  803. PC_SCANLINE = 8;
  804. PC_WIDE = 16;
  805. PC_STYLED = 32;
  806. PC_WIDESTYLED = 64;
  807. PC_INTERIORS = 128;
  808. CP_NONE = 0;
  809. CP_RECTANGLE = 1;
  810. TC_OP_CHARACTER = 01H;
  811. TC_OP_STROKE = 02H;
  812. TC_CP_STROKE = 04H;
  813. TC_CR_90 = 08H;
  814. TC_CR_ANY = 010H;
  815. TC_SF_X_YINDEP = 020H;
  816. TC_SA_DOUBLE = 040H;
  817. TC_SA_INTEGER = 080H;
  818. TC_SA_CONTIN = 0100H;
  819. TC_EA_DOUBLE = 0200H;
  820. TC_IA_ABLE = 0400H;
  821. TC_UA_ABLE = 0800H;
  822. TC_SO_ABLE = 01000H;
  823. TC_RA_ABLE = 02000H;
  824. TC_VA_ABLE = 04000H;
  825. TC_RESERVED = 08000H;
  826. RC_BITBLT = 0;
  827. RC_BANDING = 1;
  828. RC_SCALING = 2;
  829. RC_BITMAP64 = 3;
  830. RC_GDI20_OUTPUT = 4;
  831. RC_DI_BITMAP = 7;
  832. RC_PALETTE = 8;
  833. RC_DIBTODEV = 9;
  834. RC_BIGFONT = 10;
  835. RC_STRETCHBLT = 11;
  836. RC_FLOODFILL = 12;
  837. RC_STRETCHDIB = 13;
  838. (*
  839. RC_BITBLT = 1;
  840. RC_BANDING = 2;
  841. RC_SCALING = 4;
  842. RC_BITMAP64 = 8;
  843. RC_GDI20_OUTPUT = 010H;
  844. RC_DI_BITMAP = 080H;
  845. RC_PALETTE = 0100H;
  846. RC_DIBTODEV = 0200H;
  847. RC_BIGFONT = 0400H;
  848. RC_STRETCHBLT = 0800H;
  849. RC_FLOODFILL = 01000H;
  850. RC_STRETCHDIB = 02000H;
  851. *)
  852. PC_RESERVED = 01H;
  853. PC_EXPLICIT = 02H;
  854. PC_NOCOLLAPSE = 04H;
  855. DIB_RGB_COLORS = 0;
  856. DIB_PAL_COLORS = 1;
  857. SYSPAL_STATIC = 1;
  858. SYSPAL_NOSTATIC = 2;
  859. CBM_INIT = 04H;
  860. DT_TOP = 00H;
  861. DT_LEFT = 00H;
  862. DT_CENTER = 01H;
  863. DT_RIGHT = 02H;
  864. DT_VCENTER = 04H;
  865. DT_BOTTOM = 08H;
  866. DT_WORDBREAK = 010H;
  867. DT_SINGLELINE = 020H;
  868. DT_EXPANDTABS = 040H;
  869. DT_TABSTOP = 080H;
  870. DT_NOCLIP = 0100H;
  871. DT_EXTERNALLEADING = 0200H;
  872. DT_CALCRECT = 0400H;
  873. DT_NOPREFIX = 0800H;
  874. DT_INTERNAL = 01000H;
  875. PROCEDURE DrawText(_:HDC; _:ARRAY OF CHAR; _:INTEGER; VAR _:RECT; _:CARDINAL) : INTEGER;
  876. PROCEDURE DrawIcon(_:HDC; _:INTEGER; _:INTEGER; _:HICON) : BOOL;
  877. CONST
  878. FLOODFILLBORDER = 0;
  879. FLOODFILLSURFACE = 1;
  880. PROCEDURE GetWindowDC(_:HWND) : HDC;
  881. PROCEDURE GetDC(_:HWND) : HDC;
  882. PROCEDURE ReleaseDC(_:HWND; _:HDC) : INTEGER;
  883. PROCEDURE CreateDC(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : HDC;
  884. PROCEDURE CreateIC(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : HDC;
  885. PROCEDURE CreateCompatibleDC(_:HDC) : HDC;
  886. PROCEDURE DeleteDC(_:HDC) : BOOL;
  887. PROCEDURE SaveDC(_:HDC) : INTEGER;
  888. PROCEDURE RestoreDC(_:HDC; _:INTEGER) : BOOL;
  889. PROCEDURE MoveTo(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  890. PROCEDURE GetCurrentPosition(_:HDC) : LONGCARD;
  891. PROCEDURE LineTo(_:HDC; _:INTEGER; _:INTEGER) : BOOL;
  892. PROCEDURE GetDCOrg(_:HDC) : LONGCARD;
  893. PROCEDURE MulDiv(_:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  894. PROCEDURE ExtTextOut(_:HDC; _:INTEGER; _:INTEGER; _:CARDINAL; VAR _:RECT; _:ARRAY OF CHAR; _:CARDINAL; VAR _:INTEGER) : BOOL;
  895. PROCEDURE Polyline(_:HDC; VAR _:POINT; _:INTEGER) : BOOL;
  896. PROCEDURE Polygon(_:HDC; VAR _:POINT; _:INTEGER) : BOOL;
  897. PROCEDURE PolyPolygon(_:HDC; VAR _:POINT; VAR _:INTEGER; _:INTEGER) : BOOL;
  898. PROCEDURE Rectangle(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  899. PROCEDURE RoundRect(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  900. PROCEDURE Ellipse(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  901. PROCEDURE Arc(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  902. PROCEDURE Chord(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  903. PROCEDURE Pie(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  904. PROCEDURE PatBlt(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:LONGCARD) : BOOL;
  905. PROCEDURE BitBlt(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:HDC; _:INTEGER; _:INTEGER; _:LONGCARD) : BOOL;
  906. PROCEDURE StretchBlt(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:LONGCARD) : BOOL;
  907. PROCEDURE TextOut(_:HDC; _:INTEGER; _:INTEGER; _:ARRAY OF CHAR; _:INTEGER) : BOOL;
  908. PROCEDURE TabbedTextOut(_:HDC; _:INTEGER; _:INTEGER; _:ARRAY OF CHAR; _:INTEGER; _:INTEGER; VAR _:INTEGER; _:INTEGER) : LONGINT;
  909. PROCEDURE GetCharWidth(_:HDC; _:CARDINAL; _:CARDINAL; VAR _:ARRAY OF CARDINAL) : BOOL;
  910. PROCEDURE SetPixel(_:HDC; _:INTEGER; _:INTEGER; _:LONGCARD) : LONGCARD;
  911. PROCEDURE GetPixel(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  912. PROCEDURE FloodFill(_:HDC; _:INTEGER; _:INTEGER; _:LONGCARD) : BOOL;
  913. PROCEDURE ExtFloodFill(_:HDC; _:INTEGER; _:INTEGER; _:LONGCARD; _:CARDINAL) : BOOL;
  914. PROCEDURE LineDDA(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:FARPROC; _:ARRAY OF CHAR);
  915. PROCEDURE GetStockObject(_:INTEGER) : HANDLE;
  916. PROCEDURE CreatePen(_:INTEGER; _:INTEGER; _:LONGCARD) : HPEN;
  917. PROCEDURE CreatePenIndirect(VAR _:LOGPEN) : HPEN;
  918. PROCEDURE CreateSolidBrush(_:LONGCARD) : HBRUSH;
  919. PROCEDURE CreateHatchBrush(_:INTEGER; _:LONGCARD) : HBRUSH;
  920. PROCEDURE SetBrushOrg(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  921. PROCEDURE GetBrushOrg(_:HDC) : LONGCARD;
  922. PROCEDURE CreatePatternBrush(_:HBITMAP) : HBRUSH;
  923. PROCEDURE CreateBrushIndirect(VAR _:LOGBRUSH) : HBRUSH;
  924. PROCEDURE CreateBitmap(_:INTEGER; _:INTEGER; _:SHORTCARD; _:SHORTCARD; _:ARRAY OF CHAR) : HBITMAP;
  925. PROCEDURE CreateBitmapIndirect(VAR _:BITMAP) : HBITMAP;
  926. PROCEDURE CreateCompatibleBitmap(_:HDC; _:INTEGER; _:INTEGER) : HBITMAP;
  927. PROCEDURE CreateDiscardableBitmap(_:HDC; _:INTEGER; _:INTEGER) : HBITMAP;
  928. PROCEDURE SetBitmapBits(_:HBITMAP; _:LONGCARD; _:ARRAY OF CHAR) : LONGINT;
  929. PROCEDURE GetBitmapBits(_:HBITMAP; _:LONGINT; _:ARRAY OF CHAR) : LONGINT;
  930. PROCEDURE SetBitmapDimension(_:HBITMAP; _:INTEGER; _:INTEGER) : LONGCARD;
  931. PROCEDURE GetBitmapDimension(_:HBITMAP) : LONGCARD;
  932. PROCEDURE CreateFont(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:SHORTCARD; _:ARRAY OF CHAR) : HFONT;
  933. PROCEDURE CreateFontIndirect(VAR _:LOGFONT) : HFONT;
  934. PROCEDURE SelectClipRgn(_:HDC; _:HRGN) : INTEGER;
  935. PROCEDURE CreateRectRgn(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : HRGN;
  936. PROCEDURE SetRectRgn(_:HRGN; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER);
  937. PROCEDURE CreateRectRgnIndirect(VAR _:RECT) : HRGN;
  938. PROCEDURE CreateEllipticRgnIndirect(VAR _:RECT) : HRGN;
  939. PROCEDURE CreateEllipticRgn(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : HRGN;
  940. PROCEDURE CreatePolygonRgn(VAR _:POINT; _:INTEGER; _:INTEGER) : HRGN;
  941. PROCEDURE CreatePolyPolygonRgn(VAR _:POINT; VAR _:INTEGER; _:INTEGER; _:INTEGER) : HRGN;
  942. PROCEDURE CreateRoundRectRgn(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : HRGN;
  943. PROCEDURE GetObject(_:HANDLE; _:INTEGER; _:ARRAY OF BYTE) : INTEGER;
  944. PROCEDURE DeleteObject(_:HANDLE) : BOOL;
  945. PROCEDURE SelectObject(_:HDC; _:HANDLE) : HANDLE;
  946. PROCEDURE UnrealizeObject(_:HBRUSH) : BOOL;
  947. PROCEDURE SetBkColor(_:HDC; _:LONGCARD) : LONGCARD;
  948. PROCEDURE GetBkColor(_:HDC) : LONGCARD;
  949. PROCEDURE SetBkMode(_:HDC; _:INTEGER) : INTEGER;
  950. PROCEDURE GetBkMode(_:HDC) : INTEGER;
  951. PROCEDURE SetTextColor(_:HDC; _:LONGCARD) : LONGCARD;
  952. PROCEDURE GetTextColor(_:HDC) : LONGCARD;
  953. PROCEDURE SetTextAlign(_:HDC; _:CARDINAL) : CARDINAL;
  954. PROCEDURE GetTextAlign(_:HDC) : CARDINAL;
  955. PROCEDURE SetMapperFlags(_:HDC; _:LONGCARD) : LONGCARD;
  956. PROCEDURE GetAspectRatioFilter(_:HDC) : LONGCARD;
  957. PROCEDURE GetNearestColor(_:HDC; _:LONGCARD) : LONGCARD;
  958. PROCEDURE SetROP2(_:HDC; _:INTEGER) : INTEGER;
  959. PROCEDURE GetROP2(_:HDC) : INTEGER;
  960. PROCEDURE SetStretchBltMode(_:HDC; _:INTEGER) : INTEGER;
  961. PROCEDURE GetStretchBltMode(_:HDC) : INTEGER;
  962. PROCEDURE SetPolyFillMode(_:HDC; _:INTEGER) : INTEGER;
  963. PROCEDURE GetPolyFillMode(_:HDC) : INTEGER;
  964. PROCEDURE SetMapMode(_:HDC; _:INTEGER) : INTEGER;
  965. PROCEDURE GetMapMode(_:HDC) : INTEGER;
  966. PROCEDURE SetWindowOrg(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  967. PROCEDURE GetWindowOrg(_:HDC) : LONGCARD;
  968. PROCEDURE SetWindowExt(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  969. PROCEDURE GetWindowExt(_:HDC) : LONGCARD;
  970. PROCEDURE SetViewportOrg(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  971. PROCEDURE GetViewportOrg(_:HDC) : LONGCARD;
  972. PROCEDURE SetViewportExt(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  973. PROCEDURE GetViewportExt(_:HDC) : LONGCARD;
  974. PROCEDURE OffsetViewportOrg(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  975. PROCEDURE ScaleViewportExt(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : LONGCARD;
  976. PROCEDURE OffsetWindowOrg(_:HDC; _:INTEGER; _:INTEGER) : LONGCARD;
  977. PROCEDURE ScaleWindowExt(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : LONGCARD;
  978. PROCEDURE GetClipBox(_:HDC; VAR _:RECT) : INTEGER;
  979. PROCEDURE IntersectClipRect(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  980. PROCEDURE OffsetClipRgn(_:HDC; _:INTEGER; _:INTEGER) : INTEGER;
  981. PROCEDURE ExcludeClipRect(_:HDC; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  982. PROCEDURE PtVisible(_:HDC; _:INTEGER; _:INTEGER) : BOOL;
  983. PROCEDURE CombineRgn(_:HRGN; _:HRGN; _:HRGN; _:INTEGER) : INTEGER;
  984. PROCEDURE EqualRgn(_:HRGN; _:HRGN) : BOOL;
  985. PROCEDURE OffsetRgn(_:HRGN; _:INTEGER; _:INTEGER) : INTEGER;
  986. PROCEDURE GetRgnBox(_:HRGN; VAR _:RECT) : INTEGER;
  987. PROCEDURE SetTextJustification(_:HDC; _:INTEGER; _:INTEGER) : INTEGER;
  988. PROCEDURE GetTextExtent(_:HDC; _:ARRAY OF CHAR; _:INTEGER) : LONGCARD;
  989. PROCEDURE GetTabbedTextExtent(_:HDC; _:ARRAY OF CHAR; _:INTEGER; _:INTEGER; VAR _:INTEGER) : LONGCARD;
  990. PROCEDURE SetTextCharacterExtra(_:HDC; _:INTEGER) : INTEGER;
  991. PROCEDURE GetTextCharacterExtra(_:HDC) : INTEGER;
  992. PROCEDURE GetMetaFile(_:ARRAY OF CHAR) : HANDLE;
  993. PROCEDURE DeleteMetaFile(_:HANDLE) : BOOL;
  994. PROCEDURE CopyMetaFile(_:HANDLE; _:ARRAY OF CHAR) : HANDLE;
  995. PROCEDURE PlayMetaFileRecord(_:HDC; VAR _:HANDLETABLE; VAR _:METARECORD; _:CARDINAL);
  996. PROCEDURE EnumMetaFile(_:HDC; _:HANDLE; _:FARPROC; VAR _:SHORTCARD) : BOOL;
  997. PROCEDURE PlayMetaFile(_:HDC; _:HANDLE) : BOOL;
  998. PROCEDURE Escape(_:HDC; _:INTEGER; _:INTEGER; _:FarADDRESS; _:FarADDRESS) : INTEGER;
  999. PROCEDURE EnumFonts(_:HDC; _:ARRAY OF CHAR; _:FARPROC; _:ARRAY OF CHAR) : INTEGER;
  1000. PROCEDURE EnumObjects(_:HDC; _:INTEGER; _:FARPROC; _:ARRAY OF CHAR) : INTEGER;
  1001. PROCEDURE GetTextFace(_:HDC; _:INTEGER; _:ARRAY OF CHAR) : INTEGER;
  1002. PROCEDURE GetTextMetrics(_:HDC; VAR _:TEXTMETRIC) : BOOL;
  1003. PROCEDURE GetDeviceCaps(_:HDC; _:INTEGER) : INTEGER;
  1004. PROCEDURE SetEnvironment(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:CARDINAL) : INTEGER;
  1005. PROCEDURE GetEnvironment(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:CARDINAL) : INTEGER;
  1006. PROCEDURE DPtoLP(_:HDC; VAR _:POINT; _:INTEGER) : BOOL;
  1007. PROCEDURE LPtoDP(_:HDC; VAR _:POINT; _:INTEGER) : BOOL;
  1008. PROCEDURE CreateMetaFile(_:ARRAY OF CHAR) : HANDLE;
  1009. PROCEDURE CloseMetaFile(_:HANDLE) : HANDLE;
  1010. PROCEDURE GetMetaFileBits(_:HANDLE) : HANDLE;
  1011. PROCEDURE SetMetaFileBits(_:HANDLE) : HANDLE;
  1012. PROCEDURE SetDIBits(_:HDC; _:HANDLE; _:CARDINAL; _:CARDINAL; _:ARRAY OF CHAR; VAR _:BITMAPINFO; _:CARDINAL) : INTEGER;
  1013. PROCEDURE GetDIBits(_:HDC; _:HANDLE; _:CARDINAL; _:CARDINAL; _:ARRAY OF CHAR; VAR _:BITMAPINFO; _:CARDINAL) : INTEGER;
  1014. PROCEDURE SetDIBitsToDevice(_:HDC; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:ARRAY OF CHAR; VAR _:BITMAPINFO; _:CARDINAL) : INTEGER;
  1015. PROCEDURE CreateDIBitmap(_:HDC; VAR _:BITMAPINFOHEADER; _:LONGCARD; _:ARRAY OF CHAR; VAR _:BITMAPINFO; _:CARDINAL) : HBITMAP;
  1016. PROCEDURE CreateDIBPatternBrush(_:HANDLE; _:CARDINAL) : HBRUSH;
  1017. PROCEDURE StretchDIBits(_:HDC; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:ARRAY OF CHAR; VAR _:BITMAPINFO; _:CARDINAL; _:LONGCARD) : INTEGER;
  1018. PROCEDURE CreatePalette(VAR _:LOGPALETTE) : HPALETTE;
  1019. PROCEDURE SelectPalette(_:HDC; _:HPALETTE; _:BOOL) : HPALETTE;
  1020. PROCEDURE RealizePalette(_:HDC) : CARDINAL;
  1021. PROCEDURE UpdateColors(_:HDC) : INTEGER;
  1022. PROCEDURE AnimatePalette(_:HPALETTE; _:CARDINAL; _:CARDINAL; VAR _:PALETTEENTRY);
  1023. PROCEDURE SetPaletteEntries(_:HPALETTE; _:CARDINAL; _:CARDINAL; VAR _:PALETTEENTRY) : CARDINAL;
  1024. PROCEDURE GetPaletteEntries(_:HPALETTE; _:CARDINAL; _:CARDINAL; VAR _:PALETTEENTRY) : CARDINAL;
  1025. PROCEDURE GetNearestPaletteIndex(_:HPALETTE; _:LONGCARD) : CARDINAL;
  1026. PROCEDURE ResizePalette(_:HPALETTE; _:CARDINAL) : BOOL;
  1027. PROCEDURE GetSystemPaletteEntries(_:HDC; _:CARDINAL; _:CARDINAL; VAR _:PALETTEENTRY) : CARDINAL;
  1028. PROCEDURE GetSystemPaletteUse(_:HDC; _:CARDINAL) : CARDINAL;
  1029. PROCEDURE SetSystemPaletteUse(_:HDC; _:CARDINAL) : CARDINAL;
  1030. PROCEDURE wvsprintf(_:ARRAY OF CHAR; _:ARRAY OF CHAR; _:ARRAY OF BYTE) : INTEGER;
  1031. (*# save, call(var_arg=>on, c_conv=>on, reg_param=>()),name(prefix=>c) *)
  1032. PROCEDURE wsprintf(_:ARRAY OF CHAR; _:ARRAY OF CHAR) : INTEGER;
  1033. (*# restore *)
  1034. CONST
  1035. SB_HORZ = 0;
  1036. SB_VERT = 1;
  1037. SB_CTL = 2;
  1038. SB_BOTH = 3;
  1039. SB_LINEUP = 0;
  1040. SB_LINEDOWN = 1;
  1041. SB_PAGEUP = 2;
  1042. SB_PAGEDOWN = 3;
  1043. SB_THUMBPOSITION = 4;
  1044. SB_THUMBTRACK = 5;
  1045. SB_TOP = 6;
  1046. SB_BOTTOM = 7;
  1047. SB_ENDSCROLL = 8;
  1048. SW_HIDE = 0;
  1049. SW_SHOWNORMAL = 1;
  1050. SW_NORMAL = 1;
  1051. SW_SHOWMINIMIZED = 2;
  1052. SW_SHOWMAXIMIZED = 3;
  1053. SW_MAXIMIZE = 3;
  1054. SW_SHOWNOACTIVATE = 4;
  1055. SW_SHOW = 5;
  1056. SW_MINIMIZE = 6;
  1057. SW_SHOWMINNOACTIVE = 7;
  1058. SW_SHOWNA = 8;
  1059. SW_RESTORE = 9;
  1060. HIDE_WINDOW = 0;
  1061. SHOW_OPENWINDOW = 1;
  1062. SHOW_ICONWINDOW = 2;
  1063. SHOW_FULLSCREEN = 3;
  1064. SHOW_OPENNOACTIVATE= 4;
  1065. SW_PARENTCLOSING = 1;
  1066. SW_OTHERZOOM = 2;
  1067. SW_PARENTOPENING = 3;
  1068. SW_OTHERUNZOOM = 4;
  1069. ERROR = 0;
  1070. NULLREGION = 1;
  1071. SIMPLEREGION = 2;
  1072. COMPLEXREGION = 3;
  1073. RGN_AND = 1;
  1074. RGN_OR = 2;
  1075. RGN_XOR = 3;
  1076. RGN_DIFF = 4;
  1077. RGN_COPY = 5;
  1078. VK_LBUTTON = 01H;
  1079. VK_RBUTTON = 02H;
  1080. VK_CANCEL = 03H;
  1081. VK_MBUTTON = 04H;
  1082. VK_BACK = 08H;
  1083. VK_TAB = 09H;
  1084. VK_CLEAR = 0CH;
  1085. VK_RETURN = 0DH;
  1086. VK_SHIFT = 010H;
  1087. VK_CONTROL = 011H;
  1088. VK_MENU = 012H;
  1089. VK_PAUSE = 013H;
  1090. VK_CAPITAL = 014H;
  1091. VK_ESCAPE = 01BH;
  1092. VK_SPACE = 020H;
  1093. VK_PRIOR = 021H;
  1094. VK_NEXT = 022H;
  1095. VK_END = 023H;
  1096. VK_HOME = 024H;
  1097. VK_LEFT = 025H;
  1098. VK_UP = 026H;
  1099. VK_RIGHT = 027H;
  1100. VK_DOWN = 028H;
  1101. VK_SELECT = 029H;
  1102. VK_PRINT = 02AH;
  1103. VK_EXECUTE = 02BH;
  1104. VK_SNAPSHOT = 02CH;
  1105. VK_INSERT = 02DH;
  1106. VK_DELETE = 02EH;
  1107. VK_HELP = 02FH;
  1108. VK_NUMPAD0 = 060H;
  1109. VK_NUMPAD1 = 061H;
  1110. VK_NUMPAD2 = 062H;
  1111. VK_NUMPAD3 = 063H;
  1112. VK_NUMPAD4 = 064H;
  1113. VK_NUMPAD5 = 065H;
  1114. VK_NUMPAD6 = 066H;
  1115. VK_NUMPAD7 = 067H;
  1116. VK_NUMPAD8 = 068H;
  1117. VK_NUMPAD9 = 069H;
  1118. VK_MULTIPLY = 06AH;
  1119. VK_ADD = 06BH;
  1120. VK_SEPARATOR = 06CH;
  1121. VK_SUBTRACT = 06DH;
  1122. VK_DECIMAL = 06EH;
  1123. VK_DIVIDE = 06FH;
  1124. VK_F1 = 070H;
  1125. VK_F2 = 071H;
  1126. VK_F3 = 072H;
  1127. VK_F4 = 073H;
  1128. VK_F5 = 074H;
  1129. VK_F6 = 075H;
  1130. VK_F7 = 076H;
  1131. VK_F8 = 077H;
  1132. VK_F9 = 078H;
  1133. VK_F10 = 079H;
  1134. VK_F11 = 07AH;
  1135. VK_F12 = 07BH;
  1136. VK_F13 = 07CH;
  1137. VK_F14 = 07DH;
  1138. VK_F15 = 07EH;
  1139. VK_F16 = 07FH;
  1140. VK_NUMLOCK = 090H;
  1141. WH_MSGFILTER = -1;
  1142. WH_JOURNALRECORD = 0;
  1143. WH_JOURNALPLAYBACK = 1;
  1144. WH_KEYBOARD = 2;
  1145. WH_GETMESSAGE = 3;
  1146. WH_CALLWNDPROC = 4;
  1147. WH_CBT = 5;
  1148. WH_SYSMSGFILTER = 6;
  1149. WH_WINDOWMGR = 7;
  1150. HC_LPLPFNNEXT = -2;
  1151. HC_LPFNNEXT = -1;
  1152. HC_ACTION = 0;
  1153. HC_GETNEXT = 1;
  1154. HC_SKIP = 2;
  1155. HC_NOREM = 3;
  1156. HC_NOREMOVE = 3;
  1157. HC_SYSMODALON = 4;
  1158. HC_SYSMODALOFF = 5;
  1159. HCBT_MOVESIZE = 0;
  1160. HCBT_MINMAX = 1;
  1161. HCBT_QS = 2;
  1162. MSGF_DIALOGBOX = 0;
  1163. MSGF_MESSAGEBOX = 1;
  1164. MSGF_MENU = 2;
  1165. MSGF_MOVE = 3;
  1166. MSGF_SIZE = 4;
  1167. MSGF_SCROLLBAR = 5;
  1168. MSGF_NEXTWINDOW = 6;
  1169. WC_INIT = 1;
  1170. WC_SWP = 2;
  1171. WC_DEFWINDOWPROC = 3;
  1172. WC_MINMAX = 4;
  1173. WC_MOVE = 5;
  1174. WC_SIZE = 6;
  1175. WC_DRAWCAPTION = 7;
  1176. TYPE
  1177. EVENTMSG = RECORD
  1178. message : CARDINAL;
  1179. paramL : CARDINAL;
  1180. paramH : CARDINAL;
  1181. time : LONGCARD;
  1182. END;
  1183. LPEVENTMSGMSG = POINTER TO EVENTMSG;
  1184. WNDCLASS = RECORD
  1185. style : CARDINAL;
  1186. lpfnWndProc : FarADDRESS; (* Address of PROCEDURE *);
  1187. cbClsExtra : INTEGER;
  1188. cbWndExtra : INTEGER;
  1189. hInstance : HANDLE;
  1190. hIcon : HICON;
  1191. hCursor : HCURSOR;
  1192. hbrBackground : HBRUSH;
  1193. lpszMenuName : LPSTR;
  1194. lpszClassName : LPSTR;
  1195. END;
  1196. LPWNDCLASS = POINTER TO WNDCLASS;
  1197. MSG = RECORD
  1198. hwnd : CARDINAL;
  1199. message : CARDINAL;
  1200. wParam : CARDINAL;
  1201. lParam : LONGINT;
  1202. time : LONGCARD;
  1203. pt : POINT;
  1204. END;
  1205. LPMSG = POINTER TO MSG;
  1206. CONST
  1207. GWL_WNDPROC = -4;
  1208. GWW_HINSTANCE = -6;
  1209. GWW_HWNDPARENT = -8;
  1210. GWW_ID = -12;
  1211. GWL_STYLE = -16;
  1212. GWL_EXSTYLE = -20;
  1213. GCL_MENUNAME = -8;
  1214. GCW_HBRBACKGROUND = -10;
  1215. GCW_HCURSOR = -12;
  1216. GCW_HICON = -14;
  1217. GCW_HMODULE = -16;
  1218. GCW_CBWNDEXTRA = -18;
  1219. GCW_CBCLSEXTRA = -20;
  1220. GCL_WNDPROC = -24;
  1221. GCW_STYLE = -26;
  1222. WM_NULL = 00H;
  1223. WM_CREATE = 01H;
  1224. WM_DESTROY = 02H;
  1225. WM_MOVE = 03H;
  1226. WM_SIZE = 05H;
  1227. WM_ACTIVATE = 06H;
  1228. WM_SETFOCUS = 07H;
  1229. WM_KILLFOCUS = 08H;
  1230. WM_ENABLE = 0AH;
  1231. WM_SETREDRAW = 0BH;
  1232. WM_SETTEXT = 0CH;
  1233. WM_GETTEXT = 0DH;
  1234. WM_GETTEXTLENGTH = 0EH;
  1235. WM_PAINT = 0FH;
  1236. WM_CLOSE = 010H;
  1237. WM_QUERYENDSESSION = 011H;
  1238. WM_QUIT = 012H;
  1239. WM_QUERYOPEN = 013H;
  1240. WM_ERASEBKGND = 014H;
  1241. WM_SYSCOLORCHANGE = 015H;
  1242. WM_ENDSESSION = 016H;
  1243. WM_SHOWWINDOW = 018H;
  1244. WM_CTLCOLOR = 019H;
  1245. WM_WININICHANGE = 01AH;
  1246. WM_DEVMODECHANGE = 01BH;
  1247. WM_ACTIVATEAPP = 01CH;
  1248. WM_FONTCHANGE = 01DH;
  1249. WM_TIMECHANGE = 01EH;
  1250. WM_CANCELMODE = 01FH;
  1251. WM_SETCURSOR = 020H;
  1252. WM_MOUSEACTIVATE = 021H;
  1253. WM_CHILDACTIVATE = 022H;
  1254. WM_QUEUESYNC = 023H;
  1255. WM_GETMINMAXINFO = 024H;
  1256. WM_PAINTICON = 026H;
  1257. WM_ICONERASEBKGND = 027H;
  1258. WM_NEXTDLGCTL = 028H;
  1259. WM_SPOOLERSTATUS = 02AH;
  1260. WM_DRAWITEM = 02BH;
  1261. WM_MEASUREITEM = 02CH;
  1262. WM_DELETEITEM = 02DH;
  1263. WM_VKEYTOITEM = 02EH;
  1264. WM_CHARTOITEM = 02FH;
  1265. WM_SETFONT = 030H;
  1266. WM_GETFONT = 031H;
  1267. WM_QUERYDRAGICON = 037H;
  1268. WM_COMPAREITEM = 039H;
  1269. WM_COMPACTING = 041H;
  1270. WM_NCCREATE = 081H;
  1271. WM_NCDESTROY = 082H;
  1272. WM_NCCALCSIZE = 083H;
  1273. WM_NCHITTEST = 084H;
  1274. WM_NCPAINT = 085H;
  1275. WM_NCACTIVATE = 086H;
  1276. WM_GETDLGCODE = 087H;
  1277. WM_NCMOUSEMOVE = 0A0H;
  1278. WM_NCLBUTTONDOWN = 0A1H;
  1279. WM_NCLBUTTONUP = 0A2H;
  1280. WM_NCLBUTTONDBLCLK = 0A3H;
  1281. WM_NCRBUTTONDOWN = 0A4H;
  1282. WM_NCRBUTTONUP = 0A5H;
  1283. WM_NCRBUTTONDBLCLK = 0A6H;
  1284. WM_NCMBUTTONDOWN = 0A7H;
  1285. WM_NCMBUTTONUP = 0A8H;
  1286. WM_NCMBUTTONDBLCLK = 0A9H;
  1287. WM_KEYFIRST = 0100H;
  1288. WM_KEYDOWN = 0100H;
  1289. WM_KEYUP = 0101H;
  1290. WM_CHAR = 0102H;
  1291. WM_DEADCHAR = 0103H;
  1292. WM_SYSKEYDOWN = 0104H;
  1293. WM_SYSKEYUP = 0105H;
  1294. WM_SYSCHAR = 0106H;
  1295. WM_SYSDEADCHAR = 0107H;
  1296. WM_KEYLAST = 0108H;
  1297. WM_INITDIALOG = 0110H;
  1298. WM_COMMAND = 0111H;
  1299. WM_SYSCOMMAND = 0112H;
  1300. WM_TIMER = 0113H;
  1301. WM_HSCROLL = 0114H;
  1302. WM_VSCROLL = 0115H;
  1303. WM_INITMENU = 0116H;
  1304. WM_INITMENUPOPUP = 0117H;
  1305. WM_MENUSELECT = 011FH;
  1306. WM_MENUCHAR = 0120H;
  1307. WM_ENTERIDLE = 0121H;
  1308. WM_MOUSEFIRST = 0200H;
  1309. WM_MOUSEMOVE = 0200H;
  1310. WM_LBUTTONDOWN = 0201H;
  1311. WM_LBUTTONUP = 0202H;
  1312. WM_LBUTTONDBLCLK = 0203H;
  1313. WM_RBUTTONDOWN = 0204H;
  1314. WM_RBUTTONUP = 0205H;
  1315. WM_RBUTTONDBLCLK = 0206H;
  1316. WM_MBUTTONDOWN = 0207H;
  1317. WM_MBUTTONUP = 0208H;
  1318. WM_MBUTTONDBLCLK = 0209H;
  1319. WM_MOUSELAST = 0209H;
  1320. WM_PARENTNOTIFY = 0210H;
  1321. WM_MDICREATE = 0220H;
  1322. WM_MDIDESTROY = 0221H;
  1323. WM_MDIACTIVATE = 0222H;
  1324. WM_MDIRESTORE = 0223H;
  1325. WM_MDINEXT = 0224H;
  1326. WM_MDIMAXIMIZE = 0225H;
  1327. WM_MDITILE = 0226H;
  1328. WM_MDICASCADE = 0227H;
  1329. WM_MDIICONARRANGE = 0228H;
  1330. WM_MDIGETACTIVE = 0229H;
  1331. WM_MDISETMENU = 0230H;
  1332. WM_CUT = 0300H;
  1333. WM_COPY = 0301H;
  1334. WM_PASTE = 0302H;
  1335. WM_CLEAR = 0303H;
  1336. WM_UNDO = 0304H;
  1337. WM_RENDERFORMAT = 0305H;
  1338. WM_RENDERALLFORMATS= 0306H;
  1339. WM_DESTROYCLIPBOARD= 0307H;
  1340. WM_DRAWCLIPBOARD = 0308H;
  1341. WM_PAINTCLIPBOARD = 0309H;
  1342. WM_VSCROLLCLIPBOARD= 030AH;
  1343. WM_SIZECLIPBOARD = 030BH;
  1344. WM_ASKCBFORMATNAME = 030CH;
  1345. WM_CHANGECBCHAIN = 030DH;
  1346. WM_HSCROLLCLIPBOARD= 030EH;
  1347. WM_QUERYNEWPALETTE = 030FH;
  1348. WM_PALETTEISCHANGING = 0310H;
  1349. WM_PALETTECHANGED = 0311H;
  1350. WM_USER = 0400H;
  1351. ST_BEGINSWP = 0;
  1352. ST_ENDSWP = 1;
  1353. HTERROR = -2;
  1354. HTTRANSPARENT = -1;
  1355. HTNOWHERE = 0;
  1356. HTCLIENT = 1;
  1357. HTCAPTION = 2;
  1358. HTSYSMENU = 3;
  1359. HTGROWBOX = 4;
  1360. HTSIZE = HTGROWBOX;
  1361. HTMENU = 5;
  1362. HTHSCROLL = 6;
  1363. HTVSCROLL = 7;
  1364. HTREDUCE = 8;
  1365. HTZOOM = 9;
  1366. HTLEFT = 10;
  1367. HTRIGHT = 11;
  1368. HTTOP = 12;
  1369. HTTOPLEFT = 13;
  1370. HTTOPRIGHT = 14;
  1371. HTBOTTOM = 15;
  1372. HTBOTTOMLEFT = 16;
  1373. HTBOTTOMRIGHT = 17;
  1374. HTSIZEFIRST = HTLEFT;
  1375. HTSIZELAST = HTBOTTOMRIGHT;
  1376. MA_ACTIVATE = 1;
  1377. MA_ACTIVATEANDEAT = 2;
  1378. MA_NOACTIVATE = 3;
  1379. PROCEDURE RegisterWindowMessage(_:ARRAY OF CHAR) : CARDINAL;
  1380. CONST
  1381. SIZENORMAL = 0;
  1382. SIZEICONIC = 1;
  1383. SIZEFULLSCREEN = 2;
  1384. SIZEZOOMSHOW = 3;
  1385. SIZEZOOMHIDE = 4;
  1386. MK_LBUTTON = 01H;
  1387. MK_RBUTTON = 02H;
  1388. MK_SHIFT = 04H;
  1389. MK_CONTROL = 08H;
  1390. MK_MBUTTON = 010H;
  1391. WS_OVERLAPPED = 00H;
  1392. WS_POPUP = 080000000H;
  1393. WS_CHILD = 040000000H;
  1394. WS_MINIMIZE = 020000000H;
  1395. WS_VISIBLE = 010000000H;
  1396. WS_DISABLED = 08000000H;
  1397. WS_CLIPSIBLINGS = 04000000H;
  1398. WS_CLIPCHILDREN = 02000000H;
  1399. WS_MAXIMIZE = 01000000H;
  1400. WS_CAPTION = 0C00000H;
  1401. WS_BORDER = 0800000H;
  1402. WS_DLGFRAME = 0400000H;
  1403. WS_VSCROLL = 0200000H;
  1404. WS_HSCROLL = 0100000H;
  1405. WS_SYSMENU = 080000H;
  1406. WS_THICKFRAME = 040000H;
  1407. WS_GROUP = 020000H;
  1408. WS_TABSTOP = 010000H;
  1409. WS_MINIMIZEBOX = 020000H;
  1410. WS_MAXIMIZEBOX = 010000H;
  1411. WS_TILED = WS_OVERLAPPED;
  1412. WS_ICONIC = WS_MINIMIZE;
  1413. WS_SIZEBOX = WS_THICKFRAME;
  1414. WS_OVERLAPPEDWINDOW = 0CF0000H; (* WS_OVERLAPPED OR WS_CAPTION OR WS_SYSMENU OR WS_THICKFRAME OR WS_MINIMIZEBOX OR WS_MAXIMIZEBOX; *)
  1415. WS_POPUPWINDOW = 080880000H; (* WS_POPUP OR WS_BORDER OR WS_SYSMENU; *)
  1416. WS_CHILDWINDOW = WS_CHILD;
  1417. WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW;
  1418. WS_EX_DLGMODALFRAME = 01H;
  1419. WS_EX_NOPARENTNOTIFY = 04H;
  1420. CS_VREDRAW = 01H;
  1421. CS_HREDRAW = 02H;
  1422. CS_KEYCVTWINDOW = 04H;
  1423. CS_DBLCLKS = 08H;
  1424. CS_OWNDC = 020H;
  1425. CS_CLASSDC = 040H;
  1426. CS_PARENTDC = 080H;
  1427. CS_NOKEYCVT = 0100H;
  1428. CS_NOCLOSE = 0200H;
  1429. CS_SAVEBITS = 0800H;
  1430. CS_BYTEALIGNCLIENT = 01000H;
  1431. CS_BYTEALIGNWINDOW = 02000H;
  1432. CS_GLOBALCLASS = 04000H;
  1433. CF_TEXT = 1;
  1434. CF_BITMAP = 2;
  1435. CF_METAFILEPICT = 3;
  1436. CF_SYLK = 4;
  1437. CF_DIF = 5;
  1438. CF_TIFF = 6;
  1439. CF_OEMTEXT = 7;
  1440. CF_DIB = 8;
  1441. CF_PALETTE = 9;
  1442. CF_OWNERDISPLAY = 080H;
  1443. CF_DSPTEXT = 081H;
  1444. CF_DSPBITMAP = 082H;
  1445. CF_DSPMETAFILEPICT = 083H;
  1446. CF_PRIVATEFIRST = 0200H;
  1447. CF_PRIVATELAST = 02FFH;
  1448. CF_GDIOBJFIRST = 0300H;
  1449. CF_GDIOBJLAST = 03FFH;
  1450. TYPE
  1451. PAINTSTRUCT = RECORD
  1452. hdc : HDC;
  1453. fErase : BOOL;
  1454. rcPaint : RECT;
  1455. fRestore : BOOL;
  1456. fIncUpdate : BOOL;
  1457. rgbReserved : ARRAY [0..15] OF SHORTCARD;
  1458. END;
  1459. LPPAINTSTRUCT = POINTER TO PAINTSTRUCT;
  1460. CREATESTRUCT = RECORD
  1461. lpCreateParams : LPSTR;
  1462. hInstance : HANDLE;
  1463. hMenu : HANDLE;
  1464. hwndParent : HWND;
  1465. cy : INTEGER;
  1466. cx : INTEGER;
  1467. y : INTEGER;
  1468. x : INTEGER;
  1469. style : LONGINT;
  1470. lpszName : LPSTR;
  1471. lpszClass : LPSTR;
  1472. dwExStyle : LONGCARD;
  1473. END;
  1474. LPCREATESTRUCT = POINTER TO CREATESTRUCT;
  1475. CONST
  1476. ODT_MENU = 1;
  1477. ODT_LISTBOX = 2;
  1478. ODT_COMBOBOX = 3;
  1479. ODT_BUTTON = 4;
  1480. ODA_DRAWENTIRE = 0;
  1481. ODA_SELECT = 1;
  1482. ODA_FOCUS = 2;
  1483. ODS_SELECTED = 0;
  1484. ODS_GRAYED = 1;
  1485. ODS_DISABLED = 2;
  1486. ODS_CHECKED = 3;
  1487. ODS_FOCUS = 4;
  1488. (*
  1489. ODA_DRAWENTIRE = 01H;
  1490. ODA_SELECT = 02H;
  1491. ODA_FOCUS = 04H;
  1492. ODS_SELECTED = 01H;
  1493. ODS_GRAYED = 02H;
  1494. ODS_DISABLED = 04H;
  1495. ODS_CHECKED = 08H;
  1496. ODS_FOCUS = 010H;
  1497. *)
  1498. TYPE
  1499. MEASUREITEMSTRUCT = RECORD
  1500. CtlType : CARDINAL;
  1501. CtlID : CARDINAL;
  1502. itemID : CARDINAL;
  1503. itemWidth : CARDINAL;
  1504. itemHeight : CARDINAL;
  1505. itemData : LONGCARD;
  1506. END;
  1507. LPMEASUREITEMSTRUCT = POINTER TO MEASUREITEMSTRUCT;
  1508. DRAWITEMSTRUCT = RECORD
  1509. CtlType : CARDINAL;
  1510. CtlID : CARDINAL;
  1511. itemID : CARDINAL;
  1512. itemAction : BITSET;
  1513. itemState : BITSET;
  1514. hwndItem : HWND;
  1515. hDC : HDC;
  1516. rcItem : RECT;
  1517. itemData : LONGCARD;
  1518. END;
  1519. LPDRAWITEMSTRUCT = POINTER TO DRAWITEMSTRUCT;
  1520. DELETEITEMSTRUCT = RECORD
  1521. CtlType : CARDINAL;
  1522. CtlID : CARDINAL;
  1523. itemID : CARDINAL;
  1524. hwndItem : HWND;
  1525. itemData : LONGCARD;
  1526. END;
  1527. LPDELETEITEMSTRUCT = POINTER TO DELETEITEMSTRUCT;
  1528. COMPAREITEMSTRUCT = RECORD
  1529. CtlType : CARDINAL;
  1530. CtlID : CARDINAL;
  1531. hwndItem : HWND;
  1532. itemID1 : CARDINAL;
  1533. itemData1 : LONGCARD;
  1534. itemID2 : CARDINAL;
  1535. itemData2 : LONGCARD;
  1536. END;
  1537. LPCOMPAREITEMSTRUCT = POINTER TO COMPAREITEMSTRUCT;
  1538. PROCEDURE GetMessage(VAR _:MSG; _:HWND; _:CARDINAL; _:CARDINAL) : BOOL;
  1539. PROCEDURE TranslateMessage(VAR _:MSG) : BOOL;
  1540. PROCEDURE DispatchMessage(VAR _:MSG) : LONGINT;
  1541. PROCEDURE PeekMessage(VAR _:MSG; _:HWND; _:CARDINAL; _:CARDINAL; _:CARDINAL) : BOOL;
  1542. CONST
  1543. PM_NOREMOVE = 00H;
  1544. PM_REMOVE = 01H;
  1545. PM_NOYIELD = 02H;
  1546. PROCEDURE lstrcmp( _:ARRAY OF CHAR; _:ARRAY OF CHAR ): INTEGER;
  1547. PROCEDURE lstrcmpi( _:ARRAY OF CHAR; _:ARRAY OF CHAR ): INTEGER;
  1548. PROCEDURE lstrcpy( _:ARRAY OF CHAR; _:ARRAY OF CHAR ): LPSTR;
  1549. PROCEDURE lstrcat( _:ARRAY OF CHAR; _:ARRAY OF CHAR ): LPSTR;
  1550. PROCEDURE lstrlen( _:ARRAY OF CHAR ): INTEGER;
  1551. PROCEDURE _lopen( _:ARRAY OF CHAR; _:INTEGER ): INTEGER;
  1552. PROCEDURE _lclose( _:INTEGER ): INTEGER;
  1553. PROCEDURE _lcreat( _:ARRAY OF CHAR; _:INTEGER ): INTEGER;
  1554. PROCEDURE _llseek( _:INTEGER; _:LONGINT; _:INTEGER ): LONGINT;
  1555. PROCEDURE _lread( _:INTEGER; _:ARRAY OF BYTE; _:INTEGER ): WORD;
  1556. PROCEDURE _lwrite( _:INTEGER; _:ARRAY OF BYTE; _:INTEGER ): WORD;
  1557. CONST
  1558. READ = 0; (* Flags for _lopen *)
  1559. WRITE = 1;
  1560. READ_WRITE = 2;
  1561. PROCEDURE ExitWindows(dwReserved : LONGCARD; wReturnCode : CARDINAL) : BOOL;
  1562. PROCEDURE SwapMouseButton(_:BOOL) : BOOL;
  1563. PROCEDURE GetMessagePos() : LONGCARD;
  1564. PROCEDURE GetMessageTime() : LONGINT;
  1565. PROCEDURE GetSysModalWindow() : HWND;
  1566. PROCEDURE SetSysModalWindow(_:HWND) : HWND;
  1567. PROCEDURE SendMessage(_:HWND; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  1568. PROCEDURE PostMessage(_:HWND; _:CARDINAL; _:CARDINAL; _:LONGINT) : BOOL;
  1569. PROCEDURE PostAppMessage(_:HANDLE; _:CARDINAL; _:CARDINAL; _:LONGINT) : BOOL;
  1570. PROCEDURE ReplyMessage(_:LONGINT);
  1571. PROCEDURE WaitMessage();
  1572. PROCEDURE DefWindowProc(_:HWND; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  1573. PROCEDURE PostQuitMessage(_:INTEGER);
  1574. PROCEDURE CallWindowProc(_:FARPROC; _:HWND; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  1575. PROCEDURE InSendMessage() : BOOL;
  1576. PROCEDURE GetDoubleClickTime() : CARDINAL;
  1577. PROCEDURE SetDoubleClickTime(_:CARDINAL);
  1578. PROCEDURE RegisterClass(VAR _:WNDCLASS) : BOOL;
  1579. PROCEDURE UnregisterClass(_:ARRAY OF CHAR; _:HANDLE) : BOOL;
  1580. PROCEDURE GetClassInfo(_:HANDLE; _:ARRAY OF CHAR; VAR _:WNDCLASS) : BOOL;
  1581. PROCEDURE SetMessageQueue(_:INTEGER) : BOOL;
  1582. CONST
  1583. CW_USEDEFAULT = MIN(INTEGER);
  1584. PROCEDURE CreateWindow(_:FarADDRESS; _:ARRAY OF CHAR; _:LONGCARD; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:HWND; _:HMENU; _:HANDLE; _:FarADDRESS) : HWND;
  1585. PROCEDURE CreateWindowEx(_:LONGCARD; _:FarADDRESS; _:ARRAY OF CHAR; _:LONGCARD; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:HWND; _:HMENU; _:HANDLE; _:ARRAY OF CHAR) : HWND;
  1586. PROCEDURE IsWindow(_:HWND) : BOOL;
  1587. PROCEDURE IsChild(_:HWND; _:HWND) : BOOL;
  1588. PROCEDURE DestroyWindow(_:HWND) : BOOL;
  1589. PROCEDURE ShowWindow(_:HWND; _:INTEGER) : BOOL;
  1590. PROCEDURE FlashWindow(_:HWND; _:BOOL) : BOOL;
  1591. PROCEDURE ShowOwnedPopups(_:HWND; _:BOOL);
  1592. PROCEDURE OpenIcon(_:HWND) : BOOL;
  1593. PROCEDURE CloseWindow(_:HWND);
  1594. PROCEDURE MoveWindow(_:HWND; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:BOOL);
  1595. PROCEDURE SetWindowPos(_:HWND; _:HWND; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:CARDINAL);
  1596. PROCEDURE BeginDeferWindowPos(nNumWindows : INTEGER) : HANDLE;
  1597. PROCEDURE DeferWindowPos(hWinPosInfo : HANDLE; hWnd : HWND; hWndInsertAfter : HWND; x : INTEGER; y : INTEGER; cx : INTEGER; cy : INTEGER; wFlags : CARDINAL) : HANDLE;
  1598. PROCEDURE EndDeferWindowPos(hWinPosInfo : HANDLE);
  1599. PROCEDURE IsWindowVisible(_:HWND) : BOOL;
  1600. PROCEDURE IsIconic(_:HWND) : BOOL;
  1601. PROCEDURE AnyPopup() : BOOL;
  1602. PROCEDURE BringWindowToTop(_:HWND);
  1603. PROCEDURE IsZoomed(_:HWND) : BOOL;
  1604. CONST
  1605. SWP_NOSIZE = 01H;
  1606. SWP_NOMOVE = 02H;
  1607. SWP_NOZORDER = 04H;
  1608. SWP_NOREDRAW = 08H;
  1609. SWP_NOACTIVATE = 010H;
  1610. SWP_DRAWFRAME = 020H;
  1611. SWP_SHOWWINDOW = 040H;
  1612. SWP_HIDEWINDOW = 080H;
  1613. SWP_NOCOPYBITS = 0100H;
  1614. SWP_NOREPOSITION = 0200H;
  1615. PROCEDURE CreateDialog(_:HANDLE; _:ARRAY OF CHAR; _:HWND; _:FARPROC) : HWND;
  1616. PROCEDURE CreateDialogIndirect(_:HANDLE; _:ARRAY OF CHAR; _:HWND; _:FARPROC) : HWND;
  1617. PROCEDURE CreateDialogParam(_:HANDLE; _:ARRAY OF CHAR; _:HWND; _:FARPROC; _:LONGINT) : HWND;
  1618. PROCEDURE CreateDialogIndirectParam(_:HANDLE; _:ARRAY OF CHAR; _:HWND; _:FARPROC; _:LONGINT) : HWND;
  1619. PROCEDURE DialogBox(_:HANDLE; _:FarADDRESS; _:HWND; _:FARPROC) : INTEGER;
  1620. PROCEDURE DialogBoxIndirect(_:HANDLE; _:HANDLE; _:HWND; _:FARPROC) : INTEGER;
  1621. PROCEDURE DialogBoxParam(_:HANDLE; _:ARRAY OF CHAR; _:HWND; _:FARPROC; _:LONGINT) : INTEGER;
  1622. PROCEDURE DialogBoxIndirectParam(_:HANDLE; _:HANDLE; _:HWND; _:FARPROC; _:LONGINT) : INTEGER;
  1623. PROCEDURE EndDialog(_:HWND; _:INTEGER);
  1624. PROCEDURE GetDlgItem(_:HWND; _:INTEGER) : HWND;
  1625. PROCEDURE SetDlgItemInt(_:HWND; _:INTEGER; _:CARDINAL; _:BOOL);
  1626. PROCEDURE GetDlgItemInt(_:HWND; _:INTEGER; VAR _:BOOL; _:BOOL) : CARDINAL;
  1627. PROCEDURE SetDlgItemText(_:HWND; _:INTEGER; _:ARRAY OF CHAR);
  1628. PROCEDURE GetDlgItemText(_:HWND; _:INTEGER; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  1629. PROCEDURE CheckDlgButton(_:HWND; _:INTEGER; _:CARDINAL);
  1630. PROCEDURE CheckRadioButton(_:HWND; _:INTEGER; _:INTEGER; _:INTEGER);
  1631. PROCEDURE IsDlgButtonChecked(_:HWND; _:INTEGER) : CARDINAL;
  1632. PROCEDURE SendDlgItemMessage(_:HWND; _:INTEGER; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  1633. PROCEDURE GetNextDlgGroupItem(_:HWND; _:HWND; _:BOOL) : HWND;
  1634. PROCEDURE GetNextDlgTabItem(_:HWND; _:HWND; _:BOOL) : HWND;
  1635. PROCEDURE GetDlgCtrlID(_:HWND) : INTEGER;
  1636. PROCEDURE GetDialogBaseUnits() : LONGINT;
  1637. PROCEDURE DefDlgProc(_:HWND; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  1638. CONST
  1639. DLGWINDOWEXTRA = 30;
  1640. PROCEDURE CallMsgFilter(VAR _:MSG; _:INTEGER) : BOOL;
  1641. PROCEDURE OpenClipboard(_:HWND) : BOOL;
  1642. PROCEDURE CloseClipboard() : BOOL;
  1643. PROCEDURE GetClipboardOwner() : HWND;
  1644. PROCEDURE SetClipboardViewer(_:HWND) : HWND;
  1645. PROCEDURE GetClipboardViewer() : HWND;
  1646. PROCEDURE ChangeClipboardChain(_:HWND; _:HWND) : BOOL;
  1647. PROCEDURE SetClipboardData(_:CARDINAL; _:HANDLE) : HANDLE;
  1648. PROCEDURE GetClipboardData(_:CARDINAL) : HANDLE;
  1649. PROCEDURE RegisterClipboardFormat(_:ARRAY OF CHAR) : CARDINAL;
  1650. PROCEDURE CountClipboardFormats() : INTEGER;
  1651. PROCEDURE EnumClipboardFormats(_:CARDINAL) : CARDINAL;
  1652. PROCEDURE GetClipboardFormatName(_:CARDINAL; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  1653. PROCEDURE EmptyClipboard() : BOOL;
  1654. PROCEDURE IsClipboardFormatAvailable(_:CARDINAL) : BOOL;
  1655. PROCEDURE GetPriorityClipboardFormat(VAR _:CARDINAL; _:INTEGER) : INTEGER;
  1656. PROCEDURE SetFocus(_:HWND) : HWND;
  1657. PROCEDURE GetFocus() : HWND;
  1658. PROCEDURE GetActiveWindow() : HWND;
  1659. PROCEDURE GetKeyState(_:INTEGER) : INTEGER;
  1660. PROCEDURE GetAsyncKeyState(_:INTEGER) : INTEGER;
  1661. PROCEDURE GetKeyboardState(VAR _:SHORTCARD);
  1662. PROCEDURE SetKeyboardState(VAR _:SHORTCARD);
  1663. PROCEDURE EnableHardwareInput(_:BOOL) : BOOL;
  1664. PROCEDURE GetInputState() : BOOL;
  1665. PROCEDURE GetCapture() : HWND;
  1666. PROCEDURE SetCapture(_:HWND) : HWND;
  1667. PROCEDURE ReleaseCapture();
  1668. PROCEDURE SetTimer(_:HWND; _:INTEGER; _:CARDINAL; _:FARPROC) : CARDINAL;
  1669. PROCEDURE KillTimer(_:HWND; _:INTEGER) : BOOL;
  1670. PROCEDURE EnableWindow(_:HWND; _:BOOL) : BOOL;
  1671. PROCEDURE IsWindowEnabled(_:HWND) : BOOL;
  1672. PROCEDURE LoadAccelerators(_:HANDLE; _:ARRAY OF CHAR) : HANDLE;
  1673. PROCEDURE TranslateAccelerator(_:HWND; _:HANDLE; VAR _:MSG) : INTEGER;
  1674. CONST
  1675. SM_CXSCREEN = 0;
  1676. SM_CYSCREEN = 1;
  1677. SM_CXVSCROLL = 2;
  1678. SM_CYHSCROLL = 3;
  1679. SM_CYCAPTION = 4;
  1680. SM_CXBORDER = 5;
  1681. SM_CYBORDER = 6;
  1682. SM_CXDLGFRAME = 7;
  1683. SM_CYDLGFRAME = 8;
  1684. SM_CYVTHUMB = 9;
  1685. SM_CXHTHUMB = 10;
  1686. SM_CXICON = 11;
  1687. SM_CYICON = 12;
  1688. SM_CXCURSOR = 13;
  1689. SM_CYCURSOR = 14;
  1690. SM_CYMENU = 15;
  1691. SM_CXFULLSCREEN = 16;
  1692. SM_CYFULLSCREEN = 17;
  1693. SM_CYKANJIWINDOW = 18;
  1694. SM_MOUSEPRESENT = 19;
  1695. SM_CYVSCROLL = 20;
  1696. SM_CXHSCROLL = 21;
  1697. SM_DEBUG = 22;
  1698. SM_SWAPBUTTON = 23;
  1699. SM_RESERVED1 = 24;
  1700. SM_RESERVED2 = 25;
  1701. SM_RESERVED3 = 26;
  1702. SM_RESERVED4 = 27;
  1703. SM_CXMIN = 28;
  1704. SM_CYMIN = 29;
  1705. SM_CXSIZE = 30;
  1706. SM_CYSIZE = 31;
  1707. SM_CXFRAME = 32;
  1708. SM_CYFRAME = 33;
  1709. SM_CXMINTRACK = 34;
  1710. SM_CYMINTRACK = 35;
  1711. SM_CMETRICS = 36;
  1712. PROCEDURE GetSystemMetrics(_:INTEGER) : INTEGER;
  1713. PROCEDURE LoadMenu(_:HANDLE; _:ARRAY OF CHAR) : HMENU;
  1714. PROCEDURE LoadMenuIndirect(_:ARRAY OF CHAR) : HMENU;
  1715. PROCEDURE GetMenu(_:HWND) : HMENU;
  1716. PROCEDURE SetMenu(_:HWND; _:HMENU) : BOOL;
  1717. PROCEDURE ChangeMenu(_:HMENU; _:CARDINAL; _:FarADDRESS; _:CARDINAL; _:CARDINAL) : BOOL;
  1718. PROCEDURE HiliteMenuItem(_:HWND; _:HMENU; _:CARDINAL; _:CARDINAL) : BOOL;
  1719. PROCEDURE GetMenuString(_:HMENU; _:CARDINAL; _:ARRAY OF CHAR; _:INTEGER; _:CARDINAL) : INTEGER;
  1720. PROCEDURE GetMenuState(_:HMENU; _:CARDINAL; _:CARDINAL) : CARDINAL;
  1721. PROCEDURE DrawMenuBar(_:HWND);
  1722. PROCEDURE GetSystemMenu(_:HWND; _:BOOL) : HMENU;
  1723. PROCEDURE CreateMenu() : HMENU;
  1724. PROCEDURE CreatePopupMenu() : HMENU;
  1725. PROCEDURE DestroyMenu(_:HMENU) : BOOL;
  1726. PROCEDURE CheckMenuItem(_:HMENU; _:CARDINAL; _:CARDINAL) : BOOL;
  1727. PROCEDURE EnableMenuItem(_:HMENU; _:CARDINAL; _:CARDINAL) : BOOL;
  1728. PROCEDURE GetSubMenu(_:HMENU; _:INTEGER) : HMENU;
  1729. PROCEDURE GetMenuItemID(_:HMENU; _:INTEGER) : CARDINAL;
  1730. PROCEDURE GetMenuItemCount(_:HMENU) : CARDINAL;
  1731. PROCEDURE InsertMenu(_:HMENU; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:ARRAY OF CHAR) : BOOL;
  1732. PROCEDURE AppendMenu(_:HMENU; _:CARDINAL; _:CARDINAL; _:FarADDRESS) : BOOL;
  1733. PROCEDURE ModifyMenu(_:HMENU; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:FarADDRESS) : BOOL;
  1734. PROCEDURE RemoveMenu(_:HMENU; _:CARDINAL; _:CARDINAL) : BOOL;
  1735. PROCEDURE DeleteMenu(_:HMENU; _:CARDINAL; _:CARDINAL) : BOOL;
  1736. PROCEDURE SetMenuItemBitmaps(_:HMENU; _:CARDINAL; _:CARDINAL; _:HBITMAP; _:HBITMAP) : BOOL;
  1737. PROCEDURE GetMenuCheckMarkDimensions() : LONGINT;
  1738. PROCEDURE TrackPopupMenu(_:HMENU; _:CARDINAL; _:INTEGER; _:INTEGER; _:INTEGER; _:HWND; VAR _:RECT) : BOOL;
  1739. PROCEDURE GrayString(_:HDC; _:HBRUSH; _:FARPROC; _:LONGCARD; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : BOOL;
  1740. PROCEDURE UpdateWindow(_:HWND);
  1741. PROCEDURE SetActiveWindow(_:HWND) : HWND;
  1742. PROCEDURE BeginPaint(_:HWND; VAR _:PAINTSTRUCT) : HDC;
  1743. PROCEDURE EndPaint(_:HWND; VAR _:PAINTSTRUCT);
  1744. PROCEDURE GetUpdateRect(_:HWND; VAR _:RECT; _:BOOL) : BOOL;
  1745. PROCEDURE GetUpdateRgn(_:HWND; _:HRGN; _:BOOL) : INTEGER;
  1746. PROCEDURE ExcludeUpdateRgn(_:HDC; _:HWND) : INTEGER;
  1747. PROCEDURE InvalidateRect(_:HWND; VAR _:RECT; _:BOOL);
  1748. PROCEDURE ValidateRect(_:HWND; VAR _:RECT);
  1749. PROCEDURE InvalidateRgn(_:HWND; _:HRGN; _:BOOL);
  1750. PROCEDURE ValidateRgn(_:HWND; _:HRGN);
  1751. PROCEDURE ScrollWindow(_:HWND; _:INTEGER; _:INTEGER; VAR _:RECT; VAR _:RECT);
  1752. PROCEDURE ScrollDC(_:HDC; _:INTEGER; _:INTEGER; VAR _:RECT; VAR _:RECT; _:HRGN; VAR _:RECT) : BOOL;
  1753. PROCEDURE SetScrollPos(_:HWND; _:INTEGER; _:INTEGER; _:BOOL) : INTEGER;
  1754. PROCEDURE GetScrollPos(_:HWND; _:INTEGER) : INTEGER;
  1755. PROCEDURE SetScrollRange(_:HWND; _:INTEGER; _:INTEGER; _:INTEGER; _:BOOL);
  1756. PROCEDURE GetScrollRange(_:HWND; _:INTEGER; VAR _:INTEGER; VAR _:INTEGER);
  1757. PROCEDURE ShowScrollBar(_:HWND; _:CARDINAL; _:BOOL);
  1758. PROCEDURE SetProp(_:HWND; _:ARRAY OF CHAR; _:HANDLE) : BOOL;
  1759. PROCEDURE GetProp(_:HWND; _:ARRAY OF CHAR) : HANDLE;
  1760. PROCEDURE RemoveProp(_:HWND; _:ARRAY OF CHAR) : HANDLE;
  1761. PROCEDURE EnumProps(_:HWND; _:FARPROC) : INTEGER;
  1762. PROCEDURE SetWindowText(_:HWND; _:ARRAY OF CHAR);
  1763. PROCEDURE GetWindowText(_:HWND; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  1764. PROCEDURE GetWindowTextLength(_:HWND) : INTEGER;
  1765. PROCEDURE GetClientRect(_:HWND; VAR _:RECT);
  1766. PROCEDURE GetWindowRect(_:HWND; VAR _:RECT);
  1767. PROCEDURE AdjustWindowRect(VAR _:RECT; _:LONGINT; _:BOOL);
  1768. PROCEDURE AdjustWindowRectEx(VAR _:RECT; _:LONGINT; _:BOOL; _:LONGCARD);
  1769. CONST
  1770. MB_OK = 00H;
  1771. MB_OKCANCEL = 01H;
  1772. MB_ABORTRETRYIGNORE = 02H;
  1773. MB_YESNOCANCEL = 03H;
  1774. MB_YESNO = 04H;
  1775. MB_RETRYCANCEL = 05H;
  1776. MB_ICONHAND = 010H;
  1777. MB_ICONQUESTION = 020H;
  1778. MB_ICONEXCLAMATION = 030H;
  1779. MB_ICONASTERISK = 040H;
  1780. MB_ICONINFORMATION = MB_ICONASTERISK;
  1781. MB_ICONSTOP = MB_ICONHAND;
  1782. MB_DEFBUTTON1 = 00H;
  1783. MB_DEFBUTTON2 = 0100H;
  1784. MB_DEFBUTTON3 = 0200H;
  1785. MB_APPLMODAL = 00H;
  1786. MB_SYSTEMMODAL = 01000H;
  1787. MB_TASKMODAL = 02000H;
  1788. MB_NOFOCUS = 08000H;
  1789. MB_TYPEMASK = 0FH;
  1790. MB_ICONMASK = 0F0H;
  1791. MB_DEFMASK = 0F00H;
  1792. MB_MODEMASK = 03000H;
  1793. MB_MISCMASK = 0C000H;
  1794. PROCEDURE MessageBox(_:HWND; _:ARRAY OF CHAR; _:ARRAY OF CHAR; _:CARDINAL) : INTEGER;
  1795. PROCEDURE MessageBeep(_:CARDINAL);
  1796. PROCEDURE ShowCursor(_:BOOL) : INTEGER;
  1797. PROCEDURE SetCursorPos(_:INTEGER; _:INTEGER);
  1798. PROCEDURE SetCursor(_:HCURSOR) : HCURSOR;
  1799. PROCEDURE GetCursorPos(VAR _:POINT);
  1800. PROCEDURE ClipCursor(VAR _:RECT);
  1801. PROCEDURE CreateCaret(_:HWND; _:HBITMAP; _:INTEGER; _:INTEGER);
  1802. PROCEDURE GetCaretBlinkTime() : CARDINAL;
  1803. PROCEDURE SetCaretBlinkTime(_:CARDINAL);
  1804. PROCEDURE DestroyCaret();
  1805. PROCEDURE HideCaret(_:HWND);
  1806. PROCEDURE ShowCaret(_:HWND);
  1807. PROCEDURE SetCaretPos(_:INTEGER; _:INTEGER);
  1808. PROCEDURE GetCaretPos(VAR _:POINT);
  1809. PROCEDURE ClientToScreen(_:HWND; VAR _:POINT);
  1810. PROCEDURE ScreenToClient(_:HWND; VAR _:POINT);
  1811. PROCEDURE WindowFromPoint(_:POINT) : HWND;
  1812. PROCEDURE ChildWindowFromPoint(_:HWND; _:POINT) : HWND;
  1813. CONST
  1814. CTLCOLOR_MSGBOX = 0;
  1815. CTLCOLOR_EDIT = 1;
  1816. CTLCOLOR_LISTBOX = 2;
  1817. CTLCOLOR_BTN = 3;
  1818. CTLCOLOR_DLG = 4;
  1819. CTLCOLOR_SCROLLBAR = 5;
  1820. CTLCOLOR_STATIC = 6;
  1821. CTLCOLOR_MAX = 8;
  1822. COLOR_SCROLLBAR = 0;
  1823. COLOR_BACKGROUND = 1;
  1824. COLOR_ACTIVECAPTION = 2;
  1825. COLOR_INACTIVECAPTION = 3;
  1826. COLOR_MENU = 4;
  1827. COLOR_WINDOW = 5;
  1828. COLOR_WINDOWFRAME = 6;
  1829. COLOR_MENUTEXT = 7;
  1830. COLOR_WINDOWTEXT = 8;
  1831. COLOR_CAPTIONTEXT = 9;
  1832. COLOR_ACTIVEBORDER = 10;
  1833. COLOR_INACTIVEBORDER = 11;
  1834. COLOR_APPWORKSPACE = 12;
  1835. COLOR_HIGHLIGHT = 13;
  1836. COLOR_HIGHLIGHTTEXT = 14;
  1837. COLOR_BTNFACE = 15;
  1838. COLOR_BTNSHADOW = 16;
  1839. COLOR_GRAYTEXT = 17;
  1840. COLOR_BTNTEXT = 18;
  1841. COLOR_ENDCOLORS = COLOR_BTNTEXT;
  1842. PROCEDURE GetSysColor(_:INTEGER) : LONGINT;
  1843. PROCEDURE SetSysColors(_:INTEGER; VAR _:INTEGER; VAR _:LONGINT);
  1844. PROCEDURE FillRgn(_:HDC; _:HRGN; _:HBRUSH) : BOOL;
  1845. PROCEDURE FrameRgn(_:HDC; _:HRGN; _:HBRUSH; _:INTEGER; _:INTEGER) : BOOL;
  1846. PROCEDURE InvertRgn(_:HDC; _:HRGN) : BOOL;
  1847. PROCEDURE PaintRgn(_:HDC; _:HRGN) : BOOL;
  1848. PROCEDURE PtInRegion(_:HRGN; _:INTEGER; _:INTEGER) : BOOL;
  1849. PROCEDURE DrawFocusRect(_:HDC; VAR _:RECT);
  1850. PROCEDURE FillRect(_:HDC; VAR _:RECT; _:HBRUSH) : INTEGER;
  1851. PROCEDURE FrameRect(_:HDC; VAR _:RECT; _:HBRUSH) : INTEGER;
  1852. PROCEDURE InvertRect(_:HDC; VAR _:RECT);
  1853. PROCEDURE SetRect(VAR _:RECT; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER);
  1854. PROCEDURE SetRectEmpty(VAR _:RECT);
  1855. PROCEDURE CopyRect(VAR _:RECT; VAR _:RECT) : INTEGER;
  1856. PROCEDURE InflateRect(VAR _:RECT; _:INTEGER; _:INTEGER);
  1857. PROCEDURE IntersectRect(VAR _:RECT; VAR _:RECT; VAR _:RECT) : INTEGER;
  1858. PROCEDURE UnionRect(VAR _:RECT; VAR _:RECT; VAR _:RECT) : INTEGER;
  1859. PROCEDURE OffsetRect(VAR _:RECT; _:INTEGER; _:INTEGER);
  1860. PROCEDURE IsRectEmpty(VAR _:RECT) : BOOL;
  1861. PROCEDURE EqualRect(VAR _:RECT; VAR _:RECT) : BOOL;
  1862. PROCEDURE PtInRect(VAR _:RECT; _:POINT) : BOOL;
  1863. PROCEDURE RectVisible(_:HDC; VAR _:RECT) : BOOL;
  1864. PROCEDURE RectInRegion(_:HRGN; VAR _:RECT) : BOOL;
  1865. PROCEDURE GetCurrentTime() : LONGCARD;
  1866. PROCEDURE GetTickCount() : LONGCARD;
  1867. PROCEDURE GetWindowWord(_:HWND; _:INTEGER) : CARDINAL;
  1868. PROCEDURE SetWindowWord(_:HWND; _:INTEGER; _:CARDINAL) : CARDINAL;
  1869. PROCEDURE GetWindowLong(_:HWND; _:INTEGER) : LONGINT;
  1870. PROCEDURE SetWindowLong(_:HWND; _:INTEGER; _:LONGINT) : LONGINT;
  1871. PROCEDURE GetClassWord(_:HWND; _:INTEGER) : CARDINAL;
  1872. PROCEDURE SetClassWord(_:HWND; _:INTEGER; _:CARDINAL) : CARDINAL;
  1873. PROCEDURE GetClassLong(_:HWND; _:INTEGER) : LONGINT;
  1874. PROCEDURE SetClassLong(_:HWND; _:INTEGER; _:LONGINT) : LONGINT;
  1875. PROCEDURE GetDesktopHwnd() : HWND;
  1876. PROCEDURE GetDesktopWindow() : HWND;
  1877. PROCEDURE GetParent(_:HWND) : HWND;
  1878. PROCEDURE SetParent(_:HWND; _:HWND) : HWND;
  1879. PROCEDURE EnumChildWindows(_:HWND; _:FARPROC; _:LONGINT) : BOOL;
  1880. PROCEDURE FindWindow(_:ARRAY OF CHAR; _:ARRAY OF CHAR) : HWND;
  1881. PROCEDURE EnumWindows(_:FARPROC; _:LONGINT) : BOOL;
  1882. PROCEDURE EnumTaskWindows(_:HANDLE; _:FARPROC; _:LONGINT) : BOOL;
  1883. PROCEDURE GetClassName(_:HWND; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  1884. PROCEDURE GetTopWindow(_:HWND) : HWND;
  1885. PROCEDURE GetNextWindow(_:HWND; _:CARDINAL) : HWND;
  1886. PROCEDURE GetWindowTask(_:HWND) : HANDLE;
  1887. PROCEDURE GetLastActivePopup(_:HWND) : HWND;
  1888. CONST
  1889. GW_HWNDFIRST = 0;
  1890. GW_HWNDLAST = 1;
  1891. GW_HWNDNEXT = 2;
  1892. GW_HWNDPREV = 3;
  1893. GW_OWNER = 4;
  1894. GW_CHILD = 5;
  1895. PROCEDURE GetWindow(_:HWND; _:CARDINAL) : HWND;
  1896. PROCEDURE SetWindowsHook(_:INTEGER; _:FARPROC) : FARPROC;
  1897. PROCEDURE UnhookWindowsHook(_:INTEGER; _:FARPROC) : BOOL;
  1898. PROCEDURE DefHookProc(_:INTEGER; _:CARDINAL; _:LONGCARD; VAR _:FARPROC) : LONGCARD;
  1899. CONST
  1900. MF_INSERT = 00H;
  1901. MF_CHANGE = 080H;
  1902. MF_APPEND = 0100H;
  1903. MF_DELETE = 0200H;
  1904. MF_REMOVE = 01000H;
  1905. MF_BYCOMMAND = 00H;
  1906. MF_BYPOSITION = 0400H;
  1907. MF_SEPARATOR = 0800H;
  1908. MF_ENABLED = 00H;
  1909. MF_GRAYED = 01H;
  1910. MF_DISABLED = 02H;
  1911. MF_UNCHECKED = 00H;
  1912. MF_CHECKED = 08H;
  1913. MF_USECHECKBITMAPS = 0200H;
  1914. MF_STRING = 00H;
  1915. MF_BITMAP = 04H;
  1916. MF_OWNERDRAW = 0100H;
  1917. MF_POPUP = 010H;
  1918. MF_MENUBARBREAK = 020H;
  1919. MF_MENUBREAK = 040H;
  1920. MF_UNHILITE = 00H;
  1921. MF_HILITE = 080H;
  1922. MF_SYSMENU = 02000H;
  1923. MF_HELP = 04000H;
  1924. MF_MOUSESELECT = 08000H;
  1925. TYPE
  1926. MENUITEMTEMPLATEHEADER = RECORD
  1927. versionNumber : CARDINAL;
  1928. offset : CARDINAL;
  1929. END;
  1930. MENUITEMTEMPLATE = RECORD
  1931. mtOption : CARDINAL;
  1932. mtID : CARDINAL;
  1933. mtString : LPSTR;
  1934. END;
  1935. CONST
  1936. MF_END = 080H;
  1937. SC_SIZE = 0F000H;
  1938. SC_MOVE = 0F010H;
  1939. SC_MINIMIZE = 0F020H;
  1940. SC_MAXIMIZE = 0F030H;
  1941. SC_NEXTWINDOW = 0F040H;
  1942. SC_PREVWINDOW = 0F050H;
  1943. SC_CLOSE = 0F060H;
  1944. SC_VSCROLL = 0F070H;
  1945. SC_HSCROLL = 0F080H;
  1946. SC_MOUSEMENU = 0F090H;
  1947. SC_KEYMENU = 0F100H;
  1948. SC_ARRANGE = 0F110H;
  1949. SC_RESTORE = 0F120H;
  1950. SC_TASKLIST = 0F130H;
  1951. SC_ICON = SC_MINIMIZE;
  1952. SC_ZOOM = SC_MAXIMIZE;
  1953. PROCEDURE LoadBitmap(_:HANDLE; _:FarADDRESS) : HBITMAP;
  1954. PROCEDURE LoadCursor(_:HANDLE; _:FarADDRESS) : HCURSOR;
  1955. PROCEDURE CreateCursor(_:HANDLE; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : HCURSOR;
  1956. PROCEDURE DestroyCursor(_:HCURSOR) : BOOL;
  1957. CONST
  1958. IDC_ARROW = LPSTR(32512);
  1959. IDC_IBEAM = LPSTR(32513);
  1960. IDC_WAIT = LPSTR(32514);
  1961. IDC_CROSS = LPSTR(32515);
  1962. IDC_UPARROW = LPSTR(32516);
  1963. IDC_SIZE = LPSTR(32640);
  1964. IDC_ICON = LPSTR(32641);
  1965. IDC_SIZENWSE = LPSTR(32642);
  1966. IDC_SIZENESW = LPSTR(32643);
  1967. IDC_SIZEWE = LPSTR(32644);
  1968. IDC_SIZENS = LPSTR(32645);
  1969. PROCEDURE LoadIcon(_:HANDLE; _:FarADDRESS) : HICON;
  1970. PROCEDURE CreateIcon(_:HANDLE; _:INTEGER; _:INTEGER; _:SHORTCARD; _:SHORTCARD; _:ARRAY OF CHAR; _:ARRAY OF CHAR) : HICON;
  1971. PROCEDURE DestroyIcon(_:HICON) : BOOL;
  1972. CONST
  1973. ORD_LANGDRIVER = 1;
  1974. IDI_APPLICATION = LPSTR(32512);
  1975. IDI_HAND = LPSTR(32513);
  1976. IDI_QUESTION = LPSTR(32514);
  1977. IDI_EXCLAMATION = LPSTR(32515);
  1978. IDI_ASTERISK = LPSTR(32516);
  1979. PROCEDURE LoadString(_:HANDLE; _:CARDINAL; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  1980. PROCEDURE AddFontResource(_:ARRAY OF CHAR) : INTEGER;
  1981. PROCEDURE RemoveFontResource(_:ARRAY OF CHAR) : BOOL;
  1982. CONST
  1983. CP_HWND = 0;
  1984. CP_OPEN = 1;
  1985. CP_DIRECT = 2;
  1986. VK_KANA = 015H;
  1987. VK_ROMAJI = 016H;
  1988. VK_ZENKAKU = 017H;
  1989. VK_HIRAGANA = 018H;
  1990. VK_KANJI = 019H;
  1991. VK_CONVERT = 01CH;
  1992. VK_NONCONVERT = 01DH;
  1993. VK_ACCEPT = 01EH;
  1994. VK_MODECHANGE = 01FH;
  1995. KNJ_START = 01H;
  1996. KNJ_END = 02H;
  1997. KNJ_QUERY = 03H;
  1998. KNJ_LEARN_MODE = 010H;
  1999. KNJ_GETMODE = 011H;
  2000. KNJ_SETMODE = 012H;
  2001. KNJ_CODECONVERT = 020H;
  2002. KNJ_CONVERT = 021H;
  2003. KNJ_NEXT = 022H;
  2004. KNJ_PREVIOUS = 023H;
  2005. KNJ_ACCEPT = 024H;
  2006. KNJ_LEARN = 030H;
  2007. KNJ_REGISTER = 031H;
  2008. KNJ_REMOVE = 032H;
  2009. KNJ_CHANGE_UDIC = 033H;
  2010. KNJ_JIS1toJIS1KATAKANA = 014H;
  2011. KNJ_JIS1toSJIS2 = 013H;
  2012. KNJ_JIS1toSJIS2HIRAGANA = 015H;
  2013. KNJ_JIS1toSJIS2KATAKANA = 016H;
  2014. KNJ_JIS1toDEFAULT = 010H;
  2015. KNJ_JIS1toSJIS2OEM = 01FH;
  2016. KNJ_JIS2toSJIS2 = 023H;
  2017. KNJ_SJIS2toJIS2 = 032H;
  2018. KNJ_MD_ALPHA = 01H;
  2019. KNJ_MD_HIRAGANA = 02H;
  2020. KNJ_MD_HALF = 04H;
  2021. KNJ_MD_JIS = 08H;
  2022. KNJ_MD_SPECIAL = 010H;
  2023. KNJ_CVT_NEXT = 01H;
  2024. KNJ_CVT_PREV = 02H;
  2025. KNJ_CVT_KATAKANA = 03H;
  2026. KNJ_CVT_HIRAGANA = 04H;
  2027. KNJ_CVT_JIS1 = 05H;
  2028. KNJ_CVT_SJIS2 = 06H;
  2029. KNJ_CVT_DEFAULT = 07H;
  2030. KNJ_CVT_TYPED = 08H;
  2031. TYPE
  2032. KANJISTRUCT = RECORD
  2033. fnc : INTEGER;
  2034. wParam : INTEGER;
  2035. lpSource : LPSTR;
  2036. lpDest : LPSTR;
  2037. wCount : INTEGER;
  2038. lpReserved1 : LPSTR;
  2039. lpReserved2 : LPSTR;
  2040. END;
  2041. LPKANJISTRUCT = POINTER TO KANJISTRUCT;
  2042. PROCEDURE ConvertRequest(_:HWND; VAR _:KANJISTRUCT) : INTEGER;
  2043. PROCEDURE SetConvertParams(_:INTEGER; _:INTEGER) : BOOL;
  2044. PROCEDURE SetConvertHook(_:BOOL);
  2045. PROCEDURE IsTwoByteCharPrefix(_:CHAR) : BOOL;
  2046. CONST
  2047. IDOK = 1;
  2048. IDCANCEL = 2;
  2049. IDABORT = 3;
  2050. IDRETRY = 4;
  2051. IDIGNORE = 5;
  2052. IDYES = 6;
  2053. IDNO = 7;
  2054. ES_LEFT = 00H;
  2055. ES_CENTER = 01H;
  2056. ES_RIGHT = 02H;
  2057. ES_MULTILINE = 04H;
  2058. ES_UPPERCASE = 08H;
  2059. ES_LOWERCASE = 010H;
  2060. ES_PASSWORD = 020H;
  2061. ES_AUTOVSCROLL = 040H;
  2062. ES_AUTOHSCROLL = 080H;
  2063. ES_NOHIDESEL = 0100H;
  2064. ES_OEMCONVERT = 0400H;
  2065. EN_SETFOCUS = 0100H;
  2066. EN_KILLFOCUS = 0200H;
  2067. EN_CHANGE = 0300H;
  2068. EN_UPDATE = 0400H;
  2069. EN_ERRSPACE = 0500H;
  2070. EN_MAXTEXT = 0501H;
  2071. EN_HSCROLL = 0601H;
  2072. EN_VSCROLL = 0602H;
  2073. EM_GETSEL = WM_USER+0;
  2074. EM_SETSEL = WM_USER+1;
  2075. EM_GETRECT = WM_USER+2;
  2076. EM_SETRECT = WM_USER+3;
  2077. EM_SETRECTNP = WM_USER+4;
  2078. EM_SCROLL = WM_USER+5;
  2079. EM_LINESCROLL = WM_USER+6;
  2080. EM_GETMODIFY = WM_USER+8;
  2081. EM_SETMODIFY = WM_USER+9;
  2082. EM_GETLINECOUNT = WM_USER+10;
  2083. EM_LINEINDEX = WM_USER+11;
  2084. EM_SETHANDLE = WM_USER+12;
  2085. EM_GETHANDLE = WM_USER+13;
  2086. EM_GETTHUMB = WM_USER+14;
  2087. EM_LINELENGTH = WM_USER+17;
  2088. EM_REPLACESEL = WM_USER+18;
  2089. EM_SETFONT = WM_USER+19;
  2090. EM_GETLINE = WM_USER+20;
  2091. EM_LIMITTEXT = WM_USER+21;
  2092. EM_CANUNDO = WM_USER+22;
  2093. EM_UNDO = WM_USER+23;
  2094. EM_FMTLINES = WM_USER+24;
  2095. EM_LINEFROMCHAR = WM_USER+25;
  2096. EM_SETWORDBREAK = WM_USER+26;
  2097. EM_SETTABSTOPS = WM_USER+27;
  2098. EM_SETPASSWORDCHAR = WM_USER+28;
  2099. EM_EMPTYUNDOBUFFER = WM_USER+29;
  2100. EM_MSGMAX = WM_USER+30;
  2101. BS_PUSHBUTTON = 00H;
  2102. BS_DEFPUSHBUTTON = 01H;
  2103. BS_CHECKBOX = 02H;
  2104. BS_AUTOCHECKBOX = 03H;
  2105. BS_RADIOBUTTON = 04H;
  2106. BS_3STATE = 05H;
  2107. BS_AUTO3STATE = 06H;
  2108. BS_GROUPBOX = 07H;
  2109. BS_USERBUTTON = 08H;
  2110. BS_AUTORADIOBUTTON = 09H;
  2111. BS_PUSHBOX = 0AH;
  2112. BS_OWNERDRAW = 0BH;
  2113. BS_LEFTTEXT = 020H;
  2114. BN_CLICKED = 0;
  2115. BN_PAINT = 1;
  2116. BN_HILITE = 2;
  2117. BN_UNHILITE = 3;
  2118. BN_DISABLE = 4;
  2119. BN_DOUBLECLICKED = 5;
  2120. BM_GETCHECK = WM_USER+0;
  2121. BM_SETCHECK = WM_USER+1;
  2122. BM_GETSTATE = WM_USER+2;
  2123. BM_SETSTATE = WM_USER+3;
  2124. BM_SETSTYLE = WM_USER+4;
  2125. SS_LEFT = 00H;
  2126. SS_CENTER = 01H;
  2127. SS_RIGHT = 02H;
  2128. SS_ICON = 03H;
  2129. SS_BLACKRECT = 04H;
  2130. SS_GRAYRECT = 05H;
  2131. SS_WHITERECT = 06H;
  2132. SS_BLACKFRAME = 07H;
  2133. SS_GRAYFRAME = 08H;
  2134. SS_WHITEFRAME = 09H;
  2135. SS_USERITEM = 0AH;
  2136. SS_SIMPLE = 0BH;
  2137. SS_LEFTNOWORDWRAP = 0CH;
  2138. SS_NOPREFIX = 080H;
  2139. PROCEDURE IsDialogMessage(_:HWND; VAR _:MSG) : BOOL;
  2140. PROCEDURE MapDialogRect(_:HWND; VAR _:RECT);
  2141. PROCEDURE DlgDirList(_:HWND; _:ARRAY OF CHAR; _:INTEGER; _:INTEGER; _:CARDINAL) : INTEGER;
  2142. PROCEDURE DlgDirSelect(_:HWND; _:ARRAY OF CHAR; _:INTEGER) : BOOL;
  2143. PROCEDURE DlgDirListComboBox(_:HWND; _:ARRAY OF CHAR; _:INTEGER; _:INTEGER; _:CARDINAL) : INTEGER;
  2144. PROCEDURE DlgDirSelectComboBox(_:HWND; _:ARRAY OF CHAR; _:INTEGER) : BOOL;
  2145. CONST
  2146. DS_ABSALIGN = 01H;
  2147. DS_SYSMODAL = 02H;
  2148. DS_LOCALEDIT = 020H;
  2149. DS_SETFONT = 040H;
  2150. DS_MODALFRAME = 080H;
  2151. DS_NOIDLEMSG = 0100H;
  2152. DM_GETDEFID = WM_USER+0;
  2153. DM_SETDEFID = WM_USER+1;
  2154. DC_HASDEFID = 0534BH;
  2155. DLGC_WANTARROWS = 01H;
  2156. DLGC_WANTTAB = 02H;
  2157. DLGC_WANTALLKEYS = 04H;
  2158. DLGC_WANTMESSAGE = 04H;
  2159. DLGC_HASSETSEL = 08H;
  2160. DLGC_DEFPUSHBUTTON = 010H;
  2161. DLGC_UNDEFPUSHBUTTON = 020H;
  2162. DLGC_RADIOBUTTON = 040H;
  2163. DLGC_WANTCHARS = 080H;
  2164. DLGC_STATIC = 0100H;
  2165. DLGC_BUTTON = 02000H;
  2166. LB_CTLCODE = 0;
  2167. LB_OKAY = 0;
  2168. LB_ERR = -1;
  2169. LB_ERRSPACE = -2;
  2170. LBN_ERRSPACE = -2;
  2171. LBN_SELCHANGE = 1;
  2172. LBN_DBLCLK = 2;
  2173. LBN_SELCANCEL = 3;
  2174. LBN_SETFOCUS = 4;
  2175. LBN_KILLFOCUS = 5;
  2176. LB_ADDSTRING = WM_USER+1;
  2177. LB_INSERTSTRING = WM_USER+2;
  2178. LB_DELETESTRING = WM_USER+3;
  2179. LB_RESETCONTENT = WM_USER+5;
  2180. LB_SETSEL = WM_USER+6;
  2181. LB_SETCURSEL = WM_USER+7;
  2182. LB_GETSEL = WM_USER+8;
  2183. LB_GETCURSEL = WM_USER+9;
  2184. LB_GETTEXT = WM_USER+10;
  2185. LB_GETTEXTLEN = WM_USER+11;
  2186. LB_GETCOUNT = WM_USER+12;
  2187. LB_SELECTSTRING = WM_USER+13;
  2188. LB_DIR = WM_USER+14;
  2189. LB_GETTOPINDEX = WM_USER+15;
  2190. LB_FINDSTRING = WM_USER+16;
  2191. LB_GETSELCOUNT = WM_USER+17;
  2192. LB_GETSELITEMS = WM_USER+18;
  2193. LB_SETTABSTOPS = WM_USER+19;
  2194. LB_GETHORIZONTALEXTENT = WM_USER+20;
  2195. LB_SETHORIZONTALEXTENT = WM_USER+21;
  2196. LB_SETCOLUMNWIDTH = WM_USER+22;
  2197. LB_SETTOPINDEX = WM_USER+24;
  2198. LB_GETITEMRECT = WM_USER+25;
  2199. LB_GETITEMDATA = WM_USER+26;
  2200. LB_SETITEMDATA = WM_USER+27;
  2201. LB_SELITEMRANGE = WM_USER+28;
  2202. LB_MSGMAX = WM_USER+33;
  2203. LBS_NOTIFY = 01H;
  2204. LBS_SORT = 02H;
  2205. LBS_NOREDRAW = 04H;
  2206. LBS_MULTIPLESEL = 08H;
  2207. LBS_OWNERDRAWFIXED = 010H;
  2208. LBS_OWNERDRAWVARIABLE = 020H;
  2209. LBS_HASSTRINGS = 040H;
  2210. LBS_USETABSTOPS = 080H;
  2211. LBS_NOINTEGRALHEIGHT = 0100H;
  2212. LBS_MULTICOLUMN = 0200H;
  2213. LBS_WANTKEYBOARDINPUT = 0400H;
  2214. LBS_EXTENDEDSEL = 0800H;
  2215. LBS_STANDARD = 0A00003H; (*LBS_NOTIFY OR LBS_SORT OR WS_VSCROLL OR WS_BORDER;*)
  2216. CB_OKAY = 0;
  2217. CB_ERR = -1;
  2218. CB_ERRSPACE = -2;
  2219. CBN_ERRSPACE = -1;
  2220. CBN_SELCHANGE = 1;
  2221. CBN_DBLCLK = 2;
  2222. CBN_SETFOCUS = 3;
  2223. CBN_KILLFOCUS = 4;
  2224. CBN_EDITCHANGE = 5;
  2225. CBN_EDITUPDATE = 6;
  2226. CBN_DROPDOWN = 7;
  2227. CBS_SIMPLE = 01H;
  2228. CBS_DROPDOWN = 02H;
  2229. CBS_DROPDOWNLIST = 03H;
  2230. CBS_OWNERDRAWFIXED = 010H;
  2231. CBS_OWNERDRAWVARIABLE = 020H;
  2232. CBS_AUTOHSCROLL = 040H;
  2233. CBS_OEMCONVERT = 080H;
  2234. CBS_SORT = 0100H;
  2235. CBS_HASSTRINGS = 0200H;
  2236. CBS_NOINTEGRALHEIGHT = 0400H;
  2237. CB_GETEDITSEL = WM_USER+0;
  2238. CB_LIMITTEXT = WM_USER+1;
  2239. CB_SETEDITSEL = WM_USER+2;
  2240. CB_ADDSTRING = WM_USER+3;
  2241. CB_DELETESTRING = WM_USER+4;
  2242. CB_DIR = WM_USER+5;
  2243. CB_GETCOUNT = WM_USER+6;
  2244. CB_GETCURSEL = WM_USER+7;
  2245. CB_GETLBTEXT = WM_USER+8;
  2246. CB_GETLBTEXTLEN = WM_USER+9;
  2247. CB_INSERTSTRING = WM_USER+10;
  2248. CB_RESETCONTENT = WM_USER+11;
  2249. CB_FINDSTRING = WM_USER+12;
  2250. CB_SELECTSTRING = WM_USER+13;
  2251. CB_SETCURSEL = WM_USER+14;
  2252. CB_SHOWDROPDOWN = WM_USER+15;
  2253. CB_GETITEMDATA = WM_USER+16;
  2254. CB_SETITEMDATA = WM_USER+17;
  2255. CB_GETDROPPEDCONTROLRECT = WM_USER+18;
  2256. CB_MSGMAX = WM_USER+19;
  2257. SBS_HORZ = 00H;
  2258. SBS_VERT = 01H;
  2259. SBS_TOPALIGN = 02H;
  2260. SBS_LEFTALIGN = 02H;
  2261. SBS_BOTTOMALIGN = 04H;
  2262. SBS_RIGHTALIGN = 04H;
  2263. SBS_SIZEBOXTOPLEFTALIGN = 02H;
  2264. SBS_SIZEBOXBOTTOMRIGHTALIGN = 04H;
  2265. SBS_SIZEBOX = 08H;
  2266. PROCEDURE OpenSound() : INTEGER;
  2267. PROCEDURE CloseSound();
  2268. PROCEDURE SetVoiceQueueSize(_:INTEGER; _:INTEGER) : INTEGER;
  2269. PROCEDURE SetVoiceNote(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  2270. PROCEDURE SetVoiceAccent(_:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  2271. PROCEDURE SetVoiceEnvelope(_:INTEGER; _:INTEGER; _:INTEGER) : INTEGER;
  2272. PROCEDURE SetSoundNoise(_:INTEGER; _:INTEGER) : INTEGER;
  2273. PROCEDURE SetVoiceSound(_:INTEGER; _:LONGINT; _:INTEGER) : INTEGER;
  2274. PROCEDURE StartSound() : INTEGER;
  2275. PROCEDURE StopSound() : INTEGER;
  2276. PROCEDURE WaitSoundState(_:INTEGER) : INTEGER;
  2277. PROCEDURE SyncAllVoices() : INTEGER;
  2278. PROCEDURE CountVoiceNotes(_:INTEGER) : INTEGER;
  2279. PROCEDURE GetThresholdEvent() : LPINT;
  2280. PROCEDURE GetThresholdStatus() : INTEGER;
  2281. PROCEDURE SetVoiceThreshold(_:INTEGER; _:INTEGER) : INTEGER;
  2282. CONST
  2283. S_QUEUEEMPTY = 0;
  2284. S_THRESHOLD = 1;
  2285. S_ALLTHRESHOLD = 2;
  2286. S_NORMAL = 0;
  2287. S_LEGATO = 1;
  2288. S_STACCATO = 2;
  2289. S_PERIOD512 = 0;
  2290. S_PERIOD1024 = 1;
  2291. S_PERIOD2048 = 2;
  2292. S_PERIODVOICE = 3;
  2293. S_WHITE512 = 4;
  2294. S_WHITE1024 = 5;
  2295. S_WHITE2048 = 6;
  2296. S_WHITEVOICE = 7;
  2297. S_SERDVNA = -1;
  2298. S_SEROFM = -2;
  2299. S_SERMACT = -3;
  2300. S_SERQFUL = -4;
  2301. S_SERBDNT = -5;
  2302. S_SERDLN = -6;
  2303. S_SERDCC = -7;
  2304. S_SERDTP = -8;
  2305. S_SERDVL = -9;
  2306. S_SERDMD = -10;
  2307. S_SERDSH = -11;
  2308. S_SERDPT = -12;
  2309. S_SERDFQ = -13;
  2310. S_SERDDR = -14;
  2311. S_SERDSR = -15;
  2312. S_SERDST = -16;
  2313. NOPARITY = 0;
  2314. ODDPARITY = 1;
  2315. EVENPARITY = 2;
  2316. MARKPARITY = 3;
  2317. SPACEPARITY = 4;
  2318. ONESTOPBIT = 0;
  2319. ONE5STOPBITS = 1;
  2320. TWOSTOPBITS = 2;
  2321. IGNORE = 0;
  2322. INFINITE = 0FFFFH;
  2323. CE_RXOVER = 01H;
  2324. CE_OVERRUN = 02H;
  2325. CE_RXPARITY = 04H;
  2326. CE_FRAME = 08H;
  2327. CE_BREAK = 010H;
  2328. CE_CTSTO = 020H;
  2329. CE_DSRTO = 040H;
  2330. CE_RLSDTO = 080H;
  2331. CE_TXFULL = 0100H;
  2332. CE_PTO = 0200H;
  2333. CE_IOE = 0400H;
  2334. CE_DNS = 0800H;
  2335. CE_OOP = 01000H;
  2336. CE_MODE = 08000H;
  2337. IE_BADID = -1;
  2338. IE_OPEN = -2;
  2339. IE_NOPEN = -3;
  2340. IE_MEMORY = -4;
  2341. IE_DEFAULT = -5;
  2342. IE_HARDWARE = -10;
  2343. IE_BYTESIZE = -11;
  2344. IE_BAUDRATE = -12;
  2345. EV_RXCHAR = 01H;
  2346. EV_RXFLAG = 02H;
  2347. EV_TXEMPTY = 04H;
  2348. EV_CTS = 08H;
  2349. EV_DSR = 010H;
  2350. EV_RLSD = 020H;
  2351. EV_BREAK = 040H;
  2352. EV_ERR = 080H;
  2353. EV_RING = 0100H;
  2354. EV_PERR = 0200H;
  2355. SETXOFF = 1;
  2356. SETXON = 2;
  2357. SETRTS = 3;
  2358. CLRRTS = 4;
  2359. SETDTR = 5;
  2360. CLRDTR = 6;
  2361. RESETDEV = 7;
  2362. LPTx = 080H;
  2363. TYPE
  2364. DCBBits = (fBinary,fRtsDisable,fPartiy,fOutxCtsFlow,fOutxDsrFlow,
  2365. fDummy6,fDummy7,fDtrDisable,fOutX,fInX,fPeChar,fNull,
  2366. fChEvt,fDtrFlow,fRtsFlow,fDummy15);
  2367. DCBBitSet = SET OF DCBBits;
  2368. DCB = RECORD
  2369. Id : SHORTCARD;
  2370. BaudRate : CARDINAL;
  2371. ByteSize : SHORTCARD;
  2372. Parity : SHORTCARD;
  2373. StopBits : SHORTCARD;
  2374. RlsTimeout : CARDINAL;
  2375. CtsTimeout : CARDINAL;
  2376. DsrTimeout : CARDINAL;
  2377. fBits : DCBBitSet;
  2378. XonChar : CHAR;
  2379. XoffChar : CHAR;
  2380. XonLim : CARDINAL;
  2381. XoffLim : CARDINAL;
  2382. PeChar : CHAR;
  2383. EofChar : CHAR;
  2384. EvtChar : CHAR;
  2385. TxDelay : CARDINAL;
  2386. END; (*DCB*)
  2387. COMSTAT = RECORD
  2388. fCtsHold : SHORTCARD; (* bit fields: fCtsHold:1, fDsrHold:1, fRlsdHold:1, fXoffHold:1, fXoffSent:1, fEof:1, fTxim:1 *)
  2389. cbInQue : CARDINAL;
  2390. cbOutQue : CARDINAL;
  2391. END;
  2392. PROCEDURE OpenComm(_:ARRAY OF CHAR; _:CARDINAL; _:CARDINAL) : INTEGER;
  2393. PROCEDURE SetCommState(VAR _:DCB) : INTEGER;
  2394. PROCEDURE GetCommState(_:INTEGER; VAR _:DCB) : INTEGER;
  2395. PROCEDURE ReadComm(_:INTEGER; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  2396. PROCEDURE UngetCommChar(_:INTEGER; _:CHAR) : INTEGER;
  2397. PROCEDURE WriteComm(_:INTEGER; _:ARRAY OF CHAR; _:INTEGER) : INTEGER;
  2398. PROCEDURE CloseComm(_:INTEGER) : INTEGER;
  2399. PROCEDURE GetCommError(_:INTEGER; VAR _:COMSTAT) : INTEGER;
  2400. PROCEDURE BuildCommDCB(_:ARRAY OF CHAR; VAR _:DCB) : INTEGER;
  2401. PROCEDURE TransmitCommChar(_:INTEGER; _:CHAR) : INTEGER;
  2402. PROCEDURE SetCommEventMask(_:INTEGER; _:CARDINAL) : ADDRESS;
  2403. PROCEDURE GetCommEventMask(_:INTEGER; _:INTEGER) : CARDINAL;
  2404. PROCEDURE SetCommBreak(_:INTEGER) : INTEGER;
  2405. PROCEDURE ClearCommBreak(_:INTEGER) : INTEGER;
  2406. PROCEDURE FlushComm(_:INTEGER; _:INTEGER) : INTEGER;
  2407. PROCEDURE EscapeCommFunction(_:INTEGER; _:INTEGER) : INTEGER;
  2408. TYPE
  2409. MDICREATESTRUCT = RECORD
  2410. szClass : LPSTR;
  2411. szTitle : LPSTR;
  2412. hOwner : CARDINAL;
  2413. x : INTEGER;
  2414. y : INTEGER;
  2415. cx : INTEGER;
  2416. cy : INTEGER;
  2417. style : LONGINT;
  2418. lParam : LONGINT;
  2419. END;
  2420. LPMDICREATESTRUCT = POINTER TO MDICREATESTRUCT;
  2421. CLIENTCREATESTRUCT = RECORD
  2422. hWindowMenu : CARDINAL;
  2423. idFirstChild : CARDINAL;
  2424. END;
  2425. LPCLIENTCREATESTRUCT = POINTER TO CLIENTCREATESTRUCT;
  2426. PROCEDURE DefFrameProc(_:CARDINAL; _:CARDINAL; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  2427. PROCEDURE DefMDIChildProc(_:CARDINAL; _:CARDINAL; _:CARDINAL; _:LONGINT) : LONGINT;
  2428. PROCEDURE TranslateMDISysAccel(_:CARDINAL; VAR _:MSG) : INTEGER;
  2429. PROCEDURE ArrangeIconicWindows(_:CARDINAL) : CARDINAL;
  2430. CONST
  2431. HELP_CONTEXT = 01H;
  2432. HELP_QUIT = 02H;
  2433. HELP_INDEX = 03H;
  2434. HELP_HELPONHELP = 04H;
  2435. HELP_SETINDEX = 05H;
  2436. HELP_KEY = 0101H;
  2437. HELP_MULTIKEY = 0201H;
  2438. PROCEDURE WinHelp(hwndMain : CARDINAL; lpszHelp : ARRAY OF CHAR; usCommand : CARDINAL; ulData : LONGCARD) : INTEGER;
  2439. TYPE
  2440. MULTIKEYHELP = RECORD
  2441. mkSize : CARDINAL;
  2442. mkKeylist : SHORTCARD;
  2443. szKeyphrase : ARRAY [0..0] OF SHORTCARD;
  2444. END;
  2445. (*# save,call(c_conv=>off,reg_param=>(),near_call=>off),name(prefix=>none)*)
  2446. PROCEDURE ProfInsChk() : INTEGER;
  2447. PROCEDURE ProfSetup(_:INTEGER; _:INTEGER);
  2448. PROCEDURE ProfSampRate(_:INTEGER; _:INTEGER);
  2449. PROCEDURE ProfStart();
  2450. PROCEDURE ProfStop();
  2451. PROCEDURE ProfClear();
  2452. PROCEDURE ProfFlush();
  2453. PROCEDURE ProfFinish();
  2454. (*# restore *)
  2455. PROCEDURE GlobalDosAlloc(_:LONGCARD):LONGCARD;
  2456. PROCEDURE GlobalDosFree(_:CARDINAL):CARDINAL;
  2457. PROCEDURE FatalAppExit(_:CARDINAL;_:ARRAY OF CHAR);
  2458. PROCEDURE GetDOSEnvironment():FarADDRESS;
  2459. (* Inline utility procedures *)
  2460. (*# save, call(inline =>on) *)
  2461. INLINE PROCEDURE GlobalDiscard(h:HANDLE):HANDLE;
  2462. BEGIN
  2463. RETURN GlobalReAlloc(h,0,GMEM_MOVEABLE);
  2464. END GlobalDiscard;
  2465. INLINE PROCEDURE LockData(dummy:WORD):HANDLE;
  2466. BEGIN
  2467. RETURN LockSegment(0FFFFH);
  2468. END LockData;
  2469. INLINE PROCEDURE UnlockData(dummy:WORD):HANDLE;
  2470. BEGIN
  2471. RETURN UnlockSegment(0FFFFH);
  2472. END UnlockData;
  2473. CONST
  2474. (*%T _fcall *) _Ret = 0CBH; (*%E *)
  2475. (*%F _fcall *) _Ret = 0C3H; (*%E *)
  2476. TYPE
  2477. _C1 = ARRAY[0..0] OF BYTE;
  2478. _C2 = ARRAY[0..1] OF BYTE;
  2479. _C3 = ARRAY[0..2] OF BYTE;
  2480. _C4 = ARRAY[0..3] OF BYTE;
  2481. _C5 = ARRAY[0..4] OF BYTE;
  2482. _C7 = ARRAY[0..6] OF BYTE;
  2483. (*# call(reg_param=>(ax,dx),reg_saved=>(bx,cx,si,di,es,ds,st1,st2)) *)
  2484. INLINE PROCEDURE MAKELONG (lo,hi : WORD):LONGWORD = _C1(_Ret);
  2485. (*# call(reg_param=>(ax,dx),reg_saved=>(bx,cx,si,di,es,ds,st1,st2)) *)
  2486. INLINE PROCEDURE LOWORD(lw:LONGWORD):WORD = _C1(_Ret);
  2487. INLINE PROCEDURE LOCARD(lw:LONGWORD):CARDINAL = _C1(_Ret);
  2488. INLINE PROCEDURE LOINT (lw:LONGWORD):INTEGER = _C1(_Ret);
  2489. (*# call(reg_param=>(dx,ax),reg_saved=>(bx,cx,si,di,es,ds,st1,st2)) *)
  2490. INLINE PROCEDURE HIWORD(lw:LONGWORD):WORD = _C1(_Ret);
  2491. INLINE PROCEDURE HICARD(lw:LONGWORD):CARDINAL = _C1(_Ret);
  2492. INLINE PROCEDURE HIINT (lw:LONGWORD):INTEGER = _C1(_Ret);
  2493. (*# call(reg_param=>(ax),reg_saved=>(bx,cx,dx,si,di,es,ds,st1,st2)) *)
  2494. INLINE PROCEDURE LOBYTE(lw:WORD):BYTE = _C1(_Ret);
  2495. (*# call(reg_param=>(ax),reg_saved=>(bx,cx,dx,si,di,es,ds,st1,st2)) *)
  2496. INLINE PROCEDURE HIBYTE(lw:WORD):BYTE = _C3(86H,0C4H (* xchg al,ah *),_Ret);
  2497. (*# call(reg_param=>(ax,bx,dx),reg_saved=>(cx,si,di,es,ds,st1,st2)) *)
  2498. INLINE PROCEDURE RGB(r,g,b:BYTE):LONGWORD = _C5(88H,0DCH (* mov ah,bl *),0B6H,0 (* mov dh,0 *),_Ret);
  2499. (*# call(reg_param=>(ax,bx,dx),reg_saved=>(cx,si,di,es,ds,st1,st2)) *)
  2500. INLINE PROCEDURE PALETTERGB(r,g,b:BYTE):LONGWORD = _C5(88H,0DCH (* mov ah,bl *),0B6H,2 (* mov dh,2 *),_Ret);
  2501. (*# call(reg_param=>(ax),reg_saved=>(bx,cx,si,di,es,ds,st1,st2)) *)
  2502. INLINE PROCEDURE PALETTEINDEX(i:WORD):LONGWORD = _C4(0BAH,0,1 (* mov dx,100H *),_Ret);
  2503. (*# call(reg_param=>(ax,bx),reg_saved=>(cx,dx,si,di,es,ds,st1,st2)) *)
  2504. INLINE PROCEDURE GetRValue(rgb:LONGWORD):BYTE = _C1(_Ret);
  2505. (*# call(reg_param=>(ax,bx),reg_saved=>(cx,dx,si,di,es,ds,st1,st2)) *)
  2506. INLINE PROCEDURE GetGValue(rgb:LONGWORD):BYTE = _C3(86H,0C4H (* xchg ah,al *),_Ret);
  2507. (*# call(reg_param=>(ax,bx),reg_saved=>(cx,dx,si,di,es,ds,st1,st2)) *)
  2508. INLINE PROCEDURE GetBValue(rgb:LONGWORD):BYTE = _C3(88H,0DCH (* mov ah,bl *),_Ret);
  2509. (*# call(reg_param=>(ax,bx),reg_saved=>(cx,dx,si,di,ds,es,st0,st1,st2))*)
  2510. INLINE PROCEDURE Min(a,b:WORD):WORD=_C7(03BH,0C3H,072H,002H,08BH,0C3H,_Ret);
  2511. INLINE PROCEDURE Max(a,b:WORD):WORD=_C7(03BH,0C3H,077H,002H,08BH,0C3H,_Ret);
  2512. (*# restore *)
  2513. CONST
  2514. CCHDEVICENAME = 32;
  2515. TYPE
  2516. DEVMODE = RECORD
  2517. dmDeviceName : ARRAY[0..CCHDEVICENAME-1] OF CHAR;
  2518. dmSpecVersion : CARDINAL;
  2519. dmDriverVersion : CARDINAL;
  2520. dmSize : CARDINAL;
  2521. dmDriverExtra : CARDINAL;
  2522. dmFields : LONGCARD;
  2523. dmOrientation : SHORTCARD;
  2524. dmPaperSize : SHORTCARD;
  2525. dmPaperLength : SHORTCARD;
  2526. dmPaperWidth : SHORTCARD;
  2527. dmScale : SHORTCARD;
  2528. dmCopies : SHORTCARD;
  2529. dmDefaultSource : SHORTCARD;
  2530. dmPrintQuality : SHORTCARD;
  2531. dmColor : SHORTCARD;
  2532. dmDuplex : SHORTCARD;
  2533. END; (*DEVMODE*)
  2534. PDEVMODE = POINTER TO DEVMODE;
  2535. PROCEDURE DefineHandleTable(_:CARDINAL):BOOL;
  2536. PROCEDURE DeviceCapabilities(_:ARRAY OF CHAR;_:ARRAY OF CHAR;_:CARDINAL;_:ARRAY OF CHAR;VAR _:DEVMODE):LONGCARD;
  2537. PROCEDURE DeviceMode(_:HWND;_:HANDLE;_:ARRAY OF CHAR;_:ARRAY OF CHAR);
  2538. PROCEDURE ExtDeviceMode(_:HWND;_:HANDLE;VAR _:DEVMODE;_:ARRAY OF CHAR;_:ARRAY OF CHAR;VAR _:DEVMODE;_:ARRAY OF CHAR;_:CARDINAL):INTEGER;
  2539. (* extras *)
  2540. PROCEDURE WAITEVENT( c:CARDINAL);
  2541. PROCEDURE INITAPP( c:CARDINAL):CARDINAL;
  2542. PROCEDURE _exit( c:CARDINAL);
  2543. VAR
  2544. NullVar[0:0] : ARRAY[0..0] OF BYTE;
  2545. NullStr[0:0] : ARRAY[0..0] OF CHAR;
  2546. END Windows.
  2547.