Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- M E W E L - typedef struct window http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
typedef struct window
{
  struct window *next;          /* hook onto WindowList */
  struct window *parent;
  struct window *children;
  struct window *sibling;
  struct window *pZOrder;
  struct window *pHighestChild;
  HWND     win_id;      /* window handle */
  WORD     idCtrl;      /* control ID for control windows */
  HWND     hMenu;       /* handle to a menubar */
  RECT     rect;        /* window dimensions */
  RECT     rClient;     /* client area dimensions */
  HBRUSH   attr;        /* color attribute */
  int      fillchar;    /* char to draw window background with */
  int      row;         /* cursor row */
  int      col;         /* cursor col */
  int      iMonitor;            /* in case of multiple monitors, the monitor id */
  char     *title;      /* title in border */
  int      class;       /* class id */
#define NORMAL_CLASS      0
#define BUTTON_CLASS      1
#define EDIT_CLASS        2
#define LISTBOX_CLASS     3
#define SCROLLBAR_CLASS   4
#define STATIC_CLASS      5
#define PUSHBUTTON_CLASS  6
#define CHECKBOX_CLASS    7
#define RADIOBUTTON_CLASS 8
#define TEXT_CLASS        9
#define FRAME_CLASS       10
#define BOX_CLASS         11
#define ICON_CLASS        12
#define COMBO_CLASS       13
#define USER_CLASS        20
  long      (PASCAL *winproc)();    /* ptr to the window procedure */

  DWORD    flags;
#define WIN_HAS_BORDER   0x00000001L
#define WIN_DISABLED     0x00000002L
#define WIN_HIDDEN       0x00000004L
/*---------------------------------*/
#define SHADOW_TOPLEFT   0x00000010L
#define SHADOW_BOTLEFT   0x00000020L
#define SHADOW_TOPRIGHT  0x00000040L
#define SHADOW_BOTRIGHT  0L
/*---------------------------------*/
#define WS_POPUP         0x00000100L
#define WS_CHILD         0x00000200L
/*---------------------------------*/
#define WIN_VSCROLL      0x00001000L
#define WIN_HSCROLL      0x00002000L
#define WIN_HAS_SHADOW   0x00004000L
/*---------------------------------*/
#define WIN_IS_ICONIC    0x00010000L
#define WIN_TITLEBAR     0x00020000L
#define WIN_SYSMENU      0x00040000L
#define WIN_MINMAXBOX    0x00080000L
/*---------------------------------*/
#define WIN_SIZEBOX      0x00100000L
#define WIN_MOVEBOX      0x00200000L
#define WS_TABSTOP       0x00400000L
#define WS_GROUP         0x00800000L
/*---------------------------------*/
#define WS_CLIPSIBLINGS  0x01000000L
#define WS_CLIPCHILDREN  0x08000000L
#define WS_CLIP          (WS_CLIPCHILDREN | WS_CLIPSIBLINGS)
#define WS_SAVEBITS      0x02000000L
#define WS_SYSCOLOR      0x04000000L
/*---------------------------------*/
/* edit styles */
#define ES_MULTILINE     0x10000000L
#define ES_AUTOVSCROLL   0x20000000L
#define ES_AUTOHSCROLL   0x40000000L
#define ES_NOECHO        0x80000000L
  #define ES_PASSWORD    ES_NOECHO     /* WINDOWS 3.0 */
  #define ES_MARGIN      WIN_HAS_BORDER
/*---------------------------------*/
#define SS_TEXT          0x10000000L
#define SS_FRAME         0x20000000L
#define SS_BOX           0x40000000L
#define SS_ICON          0x80000000L
/*---------------------------------*/
#define BS_DEFAULT       0x10000000L  /* TRUE if this is the default button */
#define BS_INVERTED      0x20000000L  /* TRUE if it is inverted */
#define BS_HELP          0x40000000L  /* TRUE if it generates WM_HELP */
/*---------------------------------*/
/* Combo Box styles */
#define CBS_SIMPLE           0x10000000L
#define CBS_DROPDOWN       0x20000000L
#define CBS_DROPDOWNLIST 0x30000000L
#define CBS_AUTOHSCROLL  0x40000000L
#define CBS_SORT         0x80000000L
#define CBS_OWNERDRAWFIXED    0x0000L
#define CBS_OWNERDRAWVARIABLE 0x0000L
#define CBS_OEMCONVERT        0x0000L
#define CBS_HASSTRINGS        0x0000L
#define CBS_NOINTEGRALHEIGHT  0x0000L
/*---------------------------------*/
/* ListBox styles */
#define LBS_MULTIPLESEL  0x10000000L
#define LBS_NOREDRAW     0x20000000L
#define LBS_NOTIFY       0x40000000L
#define LBS_SORT         0x80000000L
#define LBS_STANDARD    (LBS_NOTIFY | LBS_SORT)
#define LBS_MULTICOLUMN  0x00000080L
#define LBS_USETABSTOPS  0x00000800L
/*---------------------------------*/

  DWORD    ulStyle;
#define WIN_SEND_ERASEBKGND   0x80000000L
#define WIN_IS_DLG            0x00000001L
#define WIN_ZOOMED            0x00000002L
#define WIN_ACTIVE_BORDER     0x00000004L
#define LBS_IN_COMBOBOX       0x00004000L /* TRUE if part of a combo box */
#define WIN_IS_MENU           0x00008000L

  int      iDisabled;

#ifndef cwExtra
#define cwExtra 32
#endif
  BYTE     szClassExtra[cwExtra];
  BYTE     *pWinExtra;
/*
   Window field offsets for GetWindowLong() and GetWindowWord()
*/
#define GWW_HINSTANCE   (-6)
#define GWW_HWNDPARENT  (-8)
#define GWW_ID          (-12)
#define GWL_EXSTYLE     (-20)
#define GWL_STYLE       (-16)
#define GWL_WNDPROC     (-4)

  BYTE     *pSavedRect;  /* for WS_SAVEBITS */
  HMENU    hSysMenu;     /* handle of the window's system menu */
  HICON    hIcon;        /* handle of the window's icon */
  RECT     rUpdate;      /* update rectangle for PAINT messages */
  RECT     rClipping;    /* clipping rectangle */
} WINDOW, *PWINDOW, *LPWINDOW;

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson