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.