X-Files Components 1.0
  ======================

  X-Files Components 1.0 contains (as yet) one component (TXDBGrid) designed for
  Inprise Delphi 4.

  TXDBGrid is  a functional extension  of standard TDBGrid.  Assumption was that
  TXDBGrid should execute  all standard TDBGrid functions  and a few additional,
  which are turned on by Options or setting values for new properties.  TXDBGrid
  is fully compatible with TDBGrid on properties level and can be used as a rep-
  lacement without  losing existing values.  TXDBGrid has its own  ColumnEditor,
  which can fully support all new properties.


  Overview
  ========

  Additional functions accessible in TXDBGrid:
    + Right mouse button column moving
    + Column titles handled like buttons
    + Showing markers in title area
    + Switching markers between columns
    + Showing multirows headers (common for near columns)
    + Showing multilines text for data, titles and headers
    + Showing word wrapped text for data and titles
    + Vertical text justification for data and titles
    + Ending long text by "..." for data and titles
    + Enable/disable edit for any individual column
    + Data lines count change possibility
    + Showing ftMemo or ftGraphic field into cell
    + Defining width range for any column
    + Defining height range (in data lines) for any row
    + Vertical column synchronization between grids allows creation of
      multilevel footers with several summarization !!!
    + Showing/Hiding horizontal and/or vertical scrollbars
    + Any column moving can be accepted or discarded
    + Searching columns by field name
    + Changing color and font properties for any data cell
    + Drawing pictures into cell
    + Drawing text onto pictures (wallpapers)

  Additional Options accessible in TXDBGrid:
    dgRightMoving      - enable right mouse button column moving
    dgTitleButtons     - enable handle for title buttons
    dgTitleHeaders     - enable column headers showing
    dgTitleWidthOff    - exclude title width from default column width
    dgMarkerAutoAlign  - enable markers alignment (to title text)
    dgMarkerAutoSwitch - enable markers switching between columns
    dgRowResize        - enable row resizing
    dgRowScroll        - enable horizontal scrolling by keyboard, if dgRowSelect
                         option is enabled

  Additional Properties and Events accessible in TXDBGrid:
    HeaderColor       - determine background color for column headers
    HeaderFont        - determine font properties for column headers
    HeaderLinesCount  - determine header row height in lines
    LinesCount        - determine data row height in lines
    LinesCountMax     - determine maximum lines count for data row height change
    LinesCountMin     - determine minimum lines count for data row height change
    MasterGrid        - determine master grid for grids synchronization
    ScrollBars        - determine scrollbars handled by TXDBGrid
    TitleLinesCount   - determine title row height in lines
    OnColumnMoving    - determine event allows accepting of column moving
    OnHeaderClick     - determine event user clicks on a header
    OnPaintColumnCell - determine event allows changing of default color, font
                        or image for any data cell

  Additional Properties accessible in TXColumn:
    Ellipsis    - determine ending long data text by "..."
    ImageDraw   - determine image draw type for any column
    QuickDraw   - determine display bitmap without using a palette
    ShowBlob    - determine display ftMemo or ftGraphic field into cell
    ShowEdit    - determine individual edit possibility for any column
    Transparent - determine display image into cell transparently
    VAlignment  - determine vertical justification for data text
    Wallpaper   - determine display data text onto pictures
    WidthMax    - determine maximum width for column width change
    WidthMin    - determine minimum width for column width change
    WordWrap    - determine display word wrapped data text

  Additional Properties accessible in TXTitleColumn:
    Button      - determine using column title as button
    Ellipsis    - determine ending long title text by "..."
    Header      - determine header text for any column
    Marker      - determine showing marker type
    VAlignment  - determine vertical justification for title text
    WordWrap    - determine display word wrapped title text

  Intended changes implemented in TXDBGrid:
    - For original names of class added 'X'
    - For types TDBGridOption and TDBGridOptions added 'X'
    - Corrected title width calculation for last visible column
    - Corrected setting and storing default column width
    - For dgTitleButtons event OnTitleClick is performed in button like style
    - For dgRightMoving column moving doesn't perform event OnTitleClick

  Additional remarks:
    - Character #13 or #10 should be used as lines separator sign
    - Character '|' should be used as header rows separator sign
    - As header rows separate sign, can be used character '|'
    - Headers for columns are merged while rows lines contain identical text
    - Multilines texts cannot be entered by Object Inspector, but it is possible
      to do this in your program or in mode "View as Text" ('Two'#13'lines')
    - Original TDBGrid component  with properties already set can be replaced by
      TXDBGrid  without losing  properties values.  To do this,  you must rename
      component type TDBGrid to TXDBGrid in *.pas file, enter mode "View as Text"
      and rename TDBGrid to TXDBGrid in *.dfm file. After these changes you MUST
      close all project files and reopen it. If your modules contain referencies
      to any class declared in DBGrids, you must added 'X' to these referencies.
      After all, you can remove module DBGrids from 'uses' line.
    - Similarly TXDBGrid can be replaced by TDBGrid too,  but all values entered
      into new properties will be lost. TXDBGrid can work like original TDBGrid,
      if you set new properties to:
      - additional Options to False
      - Button, Ellipsis, ShowBlob, WordWrap to False
      - LinesCount, LinesCountMin, TitleLinesCount to 1
      - LinesCountMax, WidthMin, WidthMax to -1
      - VAlignment to tvTopJustify
      - ScrollBars to ssBoth
      - MasterGrid to Nil
      - ShowEdit to True
      - Marker to tmNone


  Installation
  ============

  To use "X-Files Components" in Delphi, you should:
  1. Uninstall previous version of "X-Files Components" from "Component->Install
     Packages...->Design Packages", if exist.
  2. Use "File->Open..." menu item to open "XFiles40.dpk".
  3. Click "Install" in "Package - XFiles40.dpk" and then confirm "TXDBGrid"
     installation on the "Data Controls" page.
  4. If needed, add "...\XFiles40" directory to "Tools->Environment Options->
     Library->Library Path".


  Registering
  ===========

  Package "X-Files Components" is a Shareware product.  Trial version of package
  can be used only onto programmers computer.  If you find it useful and want to
  receive full version, you should register it.  You can receive registered ver-
  sion with or without components source code, depending on registration fee.

  Registered version of "X-Files Components"  can be used in your programs with-
  out additional fee. See "Register.txt" file for detailed description.

  All registered users will be notified via internet about new package versions.
  All updates for version 1.x will be send FREE via internet.


  Contact
  =======

  Contact me via internet,  if you have any questions, comments,  suggestions or
  orders from Poland:

  Author: Krzysztof Szyszka
  e-mail: kszyszka@priv.onet.pl
  e-mail: kszyszka@polbox.com
  icq no. 13241014
  http://friko.onet.pl/ka/kszyszka/x-files.html


  DISCLAIMER OF WARRANTY
  ======================

  PRODUCT IS SUPPLIED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS
  ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION,  THE WAR-
  RANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE.  THE AUTHOR ASSUMES
  NO LIABILITY FOR DAMAGES,  DIRECT OR CONSEQUENTIAL,  WHICH MAY RESULT FROM THE
  USE OF THIS PRODUCT.