+ added the win16api window class management functions

git-svn-id: trunk@31717 -
This commit is contained in:
nickysn 2015-09-16 15:28:12 +00:00
parent dde243e4e5
commit 5c71414d02
3 changed files with 78 additions and 0 deletions

View File

@ -504,6 +504,10 @@ const
PWR_SUSPENDRESUME = 2;
PWR_CRITICALRESUME = 3;
{ Window class management }
{ Class field offsets for GetClassLong() and GetClassWord() }
GCW_ATOM = (-32);
function GetFreeSystemResources(SysResource: UINT): UINT; external 'USER';
procedure LogError(err: UINT; lpInfo: FarPointer); external 'KERNEL';

View File

@ -789,3 +789,22 @@ function CallMsgFilter(var msg: MSG; nCode: SmallInt): BOOL; external 'USER';
{ Application termination }
procedure PostQuitMessage(nExitCode: SmallInt); external 'USER';
{ Window class management }
function RegisterClass(lpwc: LPWNDCLASS): ATOM; external 'USER';
{$ifdef VAR_PARAMS_ARE_FAR}
function RegisterClass(var wc: WNDCLASS): ATOM; external 'USER';
{$endif}
function UnregisterClass(lpszClassName: LPCSTR; hinst: HINST): BOOL; external 'USER';
function GetClassInfo(hinst: HINST; lpszClassName: LPCSTR; lpwc: LPWNDCLASS): BOOL; external 'USER';
{$ifdef VAR_PARAMS_ARE_FAR}
function GetClassInfo(hinst: HINST; lpszClassName: LPCSTR; var wc: WNDCLASS): BOOL; external 'USER';
{$endif}
function GetClassName(hwnd: HWND; lpszClassName: LPSTR; cchClassName: SmallInt): SmallInt; external 'USER';
function GetClassWord(hwnd: HWND; offset: SmallInt): WORD; external 'USER';
function SetClassWord(hwnd: HWND; nIndex: SmallInt; wNewWord: WORD): WORD; external 'USER';
function GetClassLong(hwnd: HWND; offset: SmallInt): LONG; external 'USER';
function SetClassLong(hwnd: HWND; nIndex: SmallInt; nVal: LONG): LONG; external 'USER';

View File

@ -1359,3 +1359,58 @@ const
WM_QUIT = $0012;
WM_SYSTEMERROR = $0017;
type
{ Window class management }
WNDPROC = function(hwnd: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; far;
PWNDCLASS = ^WNDCLASS;
NPWNDCLASS = ^WNDCLASS; near;
LPWNDCLASS = ^WNDCLASS; far;
WNDCLASS = record
style: UINT;
lpfnWndProc: WNDPROC;
cbClsExtra: SmallInt;
cbWndExtra: SmallInt;
hInstance: HINST;
hIcon: HICON;
hCursor: HCURSOR;
hbrBackground: HBRUSH;
lpszMenuName: LPCSTR;
lpszClassName: LPCSTR;
end;
TWndClass = WNDCLASS;
const
{ Class styles }
CS_VREDRAW = $0001;
CS_HREDRAW = $0002;
CS_OWNDC = $0020;
CS_CLASSDC = $0040;
CS_PARENTDC = $0080;
CS_SAVEBITS = $0800;
CS_DBLCLKS = $0008;
CS_BYTEALIGNCLIENT = $1000;
CS_BYTEALIGNWINDOW = $2000;
CS_NOCLOSE = $0200;
CS_KEYCVTWINDOW = $0004;
CS_NOKEYCVT = $0100;
CS_GLOBALCLASS = $4000;
{ Class field offsets for GetClassLong() and GetClassWord() }
GCL_MENUNAME = (-8);
GCW_HBRBACKGROUND = (-10);
GCW_HCURSOR = (-12);
GCW_HICON = (-14);
GCW_HMODULE = (-16);
GCW_CBWNDEXTRA = (-18);
GCW_CBCLSEXTRA = (-20);
GCL_WNDPROC = (-24);
GCW_STYLE = (-26);