Thank you WJR for responding.
In winuser.h I found:
#define IDI_APPLICATION 32512 and #define CS_BYTEALIGNWINDOW 0x2000
These switches are in winuser.h. Is it possible that winuser.h is not fully compatible
with Windows 7 Pro 32-bit?
My Wndclassex code:
mov D[wc.cbSize], SIZEOF WNDCLASSEX
mov D[wc.style], addr CS_BYTEALIGNWINDOW
mov D[wc.lpfnWndProc], OFFSET WndProc
mov D[wc.cbClsExtra], NULL
mov D[wc.cbWndExtra], NULL
push [hInst]
pop [wc.hInstance]
invoke LoadIconA, NULL,addr IDI_APPLICATION
mov D[wc.hIcon], eax
invoke LoadCursorA, NULL,[IDC_ARROW]
mov D[wc.hCursor], eax
invoke CreateSolidBrush, [colorbk] ; background color
mov D[hBrush], eax
mov D[wc.hbrBackground], eax
mov D[wc.lpszMenuName], NULL
mov D[wc.lpszClassName], OFFSET szDisplayName
mov D[wc.hIconSm], 0
LoadIcon IDI_APPLICATION is defined in winuser.h but gives an error
Loadcursor IDI_ARROW is NOT defined in winuser.h but gives NO error :(
mov D[wc.style], addr CS_BYTEALIGNWINDOW is defined in winuser.h but gives an error.
Switches used in winuser.h
WINNT4 = Used only with Windows NT version 4 (note: may not be compatible with other versions)
WIN9X = Used only with Windows 95/98/ME (note: may not be compatible with other versions)
WINCE = Used only with Windows CE (note: may not be compatible with other versions)
WIN64 = For use only with a 64 bit Windows
UNICODE = Use UNICODE versions
All the structs have been found but one.
In winuser.h the RECT struct is defined as follows:
#IFNDEF RECT STRUCT left dd ? top dd ? right dd ? bottom dd ? ENDS rc RECT
I had to code this in MY Progie to get rid of errors.