/* * Window definitions * * Copyright 1993 Alexandre Julliard */ #ifndef WIN_H #define WIN_H #include #include "windows.h" #include "menu.h" #define WND_MAGIC 0x444e4957 /* 'WIND' */ typedef struct tagWND { HWND hwndNext; /* Next sibling */ HWND hwndChild; /* First child */ DWORD dwMagic; /* Magic number (must be WND_MAGIC) */ HWND hwndParent; /* Window parent (from CreateWindow) */ HWND hwndOwner; /* Window owner */ HCLASS hClass; /* Window class */ HANDLE hInstance; /* Window hInstance (from CreateWindow) */ RECT rectClient; /* Client area rel. to parent client area */ RECT rectWindow; /* Whole window rel. to parent client area */ HANDLE hmemTaskQ; /* Task queue global memory handle */ HRGN hrgnUpdate; /* Update region */ HWND hwndLastActive; /* Last active popup hwnd */ FARPROC lpfnWndProc; /* Window procedure */ DWORD dwStyle; /* Window style (from CreateWindow) */ DWORD dwExStyle; /* Extended style (from CreateWindowEx) */ HANDLE hdce; /* Window DCE (if CS_OWNDC or CS_CLASSDC) */ HMENU hmenuSystem; /* System menu */ HCURSOR hCursor; /* Window Current Cursor */ HWND hWndVScroll; /* Verti. ScrollBar handle of the window */ HWND hWndHScroll; /* Horiz. ScrollBar handle of the window */ WORD wIDmenu; /* ID or hmenu (from CreateWindow) */ HANDLE hText; /* Handle of window text */ WORD flags; /* Misc. flags */ Window window; /* X window */ LPMENUBAR menuBarPtr; /* Menu bar */ HWND hWndMenuBar; /* Menu bar */ HWND hWndCaption; /* Caption bar */ WORD wExtra[1]; /* Window extra bytes */ } WND; /* WND flags values */ #define WIN_ERASE_UPDATERGN 0x01 /* Update region needs erasing */ #define WIN_NEEDS_BEGINPAINT 0x02 /* WM_PAINT sent to window */ #define WIN_GOT_SIZEMSG 0x04 /* WM_SIZE has been sent to the window */ #define WIN_OWN_DC 0x08 /* Win class has style CS_OWNDC */ #define WIN_CLASS_DC 0x10 /* Win class has style CS_CLASSDC */ #define WIN_DOUBLE_CLICKS 0x20 /* Win class has style CS_DBLCLKS */ /* Window functions */ WND *WIN_FindWndPtr( HWND hwnd ); BOOL WIN_UnlinkWindow( HWND hwnd ); BOOL WIN_LinkWindow( HWND hwnd, HWND hwndInsertAfter ); HWND WIN_FindWinToRepaint( HWND hwnd ); #endif /* WIN_H */