unit WindowsData;

interface
uses Windows, Messages;

//Этот модуль создан для централизованного хранения массивов с
//информацией об оконных стилях, сообщениях (может еще чего, если
//добавите)

type
  //Хранит иформацию о стиле (код стиля, строковое обозначение)
  StyleInfo = record
    value: DWORD;
    name: String;
    used: Boolean; //(служебное поле)
  end;

  //Хранит иформацию о  сообщении (код сообщения, строковое обозначение)
  MessageInfo = record
    value: DWORD;
    name: String;
    used: Boolean; //(служебное поле)
  end;


var
  //Коды и обозначения обычных оконных стилей
  styles: array [0..17] of StyleInfo =
  (
    (value: WS_BORDER;       name: 'WS_BORDER'),
    (value: WS_CAPTION;      name: 'WS_CAPTION'),
    (value: WS_CHILD;        name: 'WS_CHILD'),
    (value: WS_CLIPCHILDREN; name: 'WS_CLIPCHILDREN'),
//    (value: WS_CLIPSIBLINGS; name: 'WS_CLIPSIBLINGS'),
    (value: WS_DISABLED;     name: 'WS_DISABLED'),
    (value: WS_DLGFRAME;     name: 'WS_DLGFRAME'),
//    (value: WS_GROUP;        name: 'WS_GROUP'),
    (value: WS_HSCROLL;      name: 'WS_HSCROLL'),
    (value: WS_MAXIMIZE;     name: 'WS_MAXIMIZE'),
    (value: WS_MAXIMIZEBOX;  name: 'WS_MAXIMIZEBOX'),
    (value: WS_MINIMIZE;     name: 'WS_MINIMIZE'),
    (value: WS_MINIMIZEBOX;   name: 'WS_MINIMIZEBOX'),
    (value: WS_OVERLAPPED;   name: 'WS_OVERLAPPED'),
//    (value: WS_OVERLAPPEDWINDOW; name: 'WS_OVERLAPPEDWINDOW'),
    (value: WS_POPUP;        name: 'WS_POPUP'),
//    (value: WS_POPUPWINDOW;  name: 'WS_POPUPWINDOW'),
    (value: WS_SYSMENU;      name: 'WS_SYSMENU'),
    (value: WS_TABSTOP;      name: 'WS_TABSTOP'),
    (value: WS_THICKFRAME;   name: 'WS_THICKFRAME'),
    (value: WS_VISIBLE;      name: 'WS_VISIBLE'),
    (value: WS_VSCROLL;      name: 'WS_VSCROLL')
  );

  //Коды и обозначения дополнительных оконных стилей
  exstyles: array [0..18] of StyleInfo =
  (
    (value: WS_EX_ACCEPTFILES;     name: 'WS_EX_ACCEPTFILES'),
    (value: WS_EX_APPWINDOW;       name: 'WS_EX_APPWINDOW'),
    (value: WS_EX_CLIENTEDGE;      name: 'WS_EX_CLIENTEDGE'),
    (value: WS_EX_CONTEXTHELP;     name: 'WS_EX_CONTEXTHELP'),
    (value: WS_EX_CONTROLPARENT;   name: 'WS_EX_CONTROLPARENT'),
    (value: WS_EX_DLGMODALFRAME;   name: 'WS_EX_DLGMODALFRAME'),
    (value: WS_EX_LAYERED;         name: 'WS_EX_LAYERED'),
    (value: WS_EX_LEFT;            name: 'WS_EX_LEFT'),
    (value: WS_EX_LEFTSCROLLBAR;   name: 'WS_EX_LEFTSCROLLBAR'),
    (value: WS_EX_MDICHILD;        name: 'WS_EX_MDICHILD'),
    (value: WS_EX_NOACTIVATE;      name: 'WS_EX_NOACTIVATE'),
    (value: WS_EX_NOINHERITLAYOUT; name: 'WS_EX_NOINHERITLAYOUT'),
    (value: WS_EX_NOPARENTNOTIFY;  name: 'WS_EX_NOPARENTNOTIFY'),
    (value: WS_EX_RIGHTSCROLLBAR;  name: 'WS_EX_RIGHTSCROLLBAR'),
    (value: WS_EX_STATICEDGE;      name: 'WS_EX_STATICEDGE'),
    (value: WS_EX_TOOLWINDOW;      name: 'WS_EX_TOOLWINDOW'),
    (value: WS_EX_TOPMOST;         name: 'WS_EX_TOPMOST'),
    (value: WS_EX_TRANSPARENT;     name: 'WS_EX_TRANSPARENT'),
    (value: WS_EX_WINDOWEDGE;      name: 'WS_EX_WINDOWEDGE')
  );

//Массив с исформацией о сообщениях
const
  mess_first = 0;
  mess_last = 15;
var
  messages_list: array [mess_first..mess_last] of MessageInfo =
  (
    (value: WM_DESTROY;       name: 'WM_DESTROY';       used: False),
    (value: WM_MOVE;          name: 'WM_MOVE';          used: False),
    (value: WM_SIZE;          name: 'WM_SIZE';          used: False),
    (value: WM_ACTIVATE;      name: 'WM_ACTIVATE';      used: False),
    (value: WM_SETFOCUS;      name: 'WM_SETFOCUS';      used: False),
    (value: WM_KILLFOCUS;     name: 'WM_KILLFOCUS';     used: False),
    (value: WM_ENABLE;        name: 'WM_ENABLE';        used: False),
    (value: WM_SETTEXT;       name: 'WM_SETTEXT';       used: False),
    (value: WM_GETTEXT;       name: 'WM_GETTEXT';       used: False),
    (value: WM_PAINT;         name: 'WM_PAINT';         used: False),
    (value: WM_CLOSE;         name: 'WM_CLOSE';         used: False),
    (value: WM_QUIT;          name: 'WM_QUIT';          used: False),
    (value: WM_SIZING;        name: 'WM_SIZING';        used: False),
    (value: WM_MOVING;        name: 'WM_MOVING';        used: False),
    (value: WM_NOTIFY;        name: 'WM_NOTIFY';        used: False),
    (value: WM_NCHITTEST;     name: 'WM_NCHITTEST';     used: False)
  );
implementation

end.
 