DOWNLOAD NEW VERSION OF XCL DOCUMENTATIONHere You can download the total set of this documentation files in a single archive XCLdoc.zip

    This page is updated very often, so click 'Reload' button in your browser to get fresh version!

XCL history

25-Nov-99 XCL v1.62 (25-Nov-99) new:
  • New control XHysto (Self-drawing, i.e. derived from XBevel <- XCustomControl and needs XCanvas). Allows graphically represent set of mesure values (as pulses), which could be dynamically changed. Number of different mesures can vary and not restricted. If number of mesures is equal to 2, mode TwoDirections is allowed. In that case TwoDirsBase can be set (in percents) to adjust zero line, from which pulses are dancing (eigher TwoDirsBase can stay 0 and recalculated automatically).
    • Capacity of banks to store values for each mesure by default is 1000 and can be changed. Eight different colors by default are set to represent each measure pulses. And it is possible to set custom colors for every mesure graph.
    • By default, pulses are fate and Look3D on. It is possible to change PulseWidth ( >=1 ), PulseInterval ( >=0 ) and Look3D to adjust appearance of pulses.
    • By default, Direction is hdRight. And can be changed to hdLeft, hdTop and hdBottom to set side of control, from which new pulses are appearing. To change side, from which base line is calculated, set Inverse to True.
    • Also XHysto can be Transparent.
  • You may look for Sample16Hysto project in samples set to watch new control in action.
  • Bug fixed with autosizing of XCheck. When it was aligned, its resizing caused constant realigning which caused resizing again recursively and so on. I will look if this bug is located in other autoresizing controls.
  • Now I am starting great project named 'XCL Wizard', which must make XCL programming visual again. It will contain expert module, integrated into Delphi IDE, and XCL-based applet with XCL class inspector, XCL form designer and XCL classes palette. Wish me every success which possible!
23-Nov-99 New v1.61 contains mumerous of fixes and changes. Starting from v1.61, all samples are stored separately in a single archive samples.zip (now ~104K). ALL samples are tested in Win98 and WinNT for both D3 and D4. New message handling (introduced in previous release) required very large number of changes, so I suggest You to download new version in total. Other changes are following:
  • XMenus are causing access violation or infinite looping in D3 when applet is finished (may be my D3 version slightly bugged, under D4 all OK :o ). So I have inserted TerminateProcess into finalization section of XMenus unit (only for D3). You may try to remove it (just by commenting).
  • SaveIconToStream fixed for NT (now it is saving only in 16 or 256 or 2 colors mode).
  • Finishing of applet with several forms caused access violation, stack overflow and some other errors. Fixed.
  • My suggestion not to call UseCanvases( because it is called automatically when first control is created) was not good a bit. Now it is good therefore (even if form's window handle is created before first control - :) ).
  • Some dummy objects created only to store events to extend object's interface with add-ons, replaced to global variables of correspondent type ( e.g., GlobalFormsManager.On_CreateControl => GlobalForms_On_CreateControl ).
20-Nov-99
  •    Unfortunately, v1.59+ (and may be several previous ones) are found too incompatible with Delphi3. So, now v1.60 is publishing, which has set of fixes for these.
    • Declaration of Style, ExStyle and ClsStyle properties in XWindow is changed from cardinal to DWord - this works good both in D3 and D4. Other (Integer, LongInt, cardinal) require additional adaptations either for D3 or for D3.
    • Directive reintroduce, which is available only in D4, changed to override for D3 (staying reintroduce for D4).
    • In ZFileChange declaration of Execute as procedure is corrected to function as it is in ancestor (ZThread). D3 seems to be more pedantic then D4.
    • In XShellLinks references to ActiveX and comobj units are deleted to reduce compiling time (unfortunately, ole2 still needed, so command Build All is very long, especially in D3 :( ).
    • Declaration of VK_STAB is changed in XMFCControls from cardinal to DWord.
    • May be I forget to list here other similar changes, but all samples are tested and needed changes made to provide correct compiling and working of its.
  •    Also, some changes are made in XCanvases.pas to initialize canvas management only if UseCanvases is called (I could not find out, why XCanvases code yet debugged in MFC-projects even without references to it - in Delphi3). And some changes are made in modules, using XCanvases (XControls and XCanvasObjects).
      Therefore, You do not need to call UseCanvases in your dpr. It is called in units, acutely using XCanvases (two above).
  •    Another trick is in changing message handling methods in XWindows/XApplets. Now target window object for message is calculated by calling GetProp for window handle. Correspondent window atom is set when window handle is created and removed during its destroying. Idea is got from ACL by Bokovikov Alexander. Onother changes in that direction will be made later (e.g., to allow use standard directive message; to easy override some messagehandlers).
  •    Something can be yet wrong with MFC-based controls. At least, problem of creating desired CPanel is not solved yet. I will look for it nowadays.
17-Nov-99    XCL v1.59 news:
  • ZDirList class in XDirLists.pas. Intended to read directory list (files and subdirectories). Not yet finished - has no sorting.
  • Several bugs fixed in XNamedTags.pas. Finally named tags are tested and ready to use.
  • Two new functions in XStrUtils: AnsiUpperCase and AnsiLowerCase. New function DirectoryExists in XFileUtils.pas.
  • Fixed bug in LoadSystemIcons method of XImageList class.
  • Fixed bug with calculating SectionLength in ZIniFile.SetSection.
  • Added unit XShellLinks with useful function ResolveLink, which allows to extract full information from existing .lnk-file (path, arguments, working directory, icon location, show command). May be later function CreateLink will be added here.
  • Added unit XWindowUtils with two useful functions: GetSesktopRect and FindWindowByThreadID.
  • Added function XFileTimeCompare in XFileUtils unit.
  • New small applet published to demonstrate XCL advantages - freeware Launcher Panel. It is created by me to avoid istalling of Active Desktop on my PC and represents right-side auto-hiding launch panel like it is done in A.D. It is very easy to use (but not too easy in configure). I decided to provide commands Open for folders corresponding to panels and Refresh instead of embedding auto-refresh capabilities. It is also possible to open in Notepad configuration file (Configure) to rearrange buttons and folders manually. This launcher does not support drag-drop and may be looking more poor. But it does what I want- it launches any applications and folders. If You are intersted in getting source for studying purposes, I agree to send it by e-mail with no restrictions.
12-Nov-99    XCL v1.58 news:
  • ZGifDecoder and ZGif classes by Vladimir Kladov. ZGifDecoder is based on freeware TGifImage component source from RxLib and adapted to XCL needs (descendant of TObject, no VCL bloats). Improved in direction of correct showing of any gif by calculating exact transparency mask during loading of gif image. ZGif is a descendant of ZClip (XImages.pas) and contains all for drawing frames of gif animation. It uses ability of ZGifDecoder to store exact mask of transparency to show correctly any gif's. Sample16(GifTest).zip contains sample of showing gif, loaded from hard disk. Soon XGif control will be added to show gif animation in separate clip control.
       Gif classes are provided only as compiled dcu-files for Delphi3 and Delphi4. Source of XGifs.pas is only for XCL members.
  • Changes in XImages.pas made to create gif classes above: functions DrawBitmapMask, DrawBitmapMaskMask, StretchBitmapMask, StretchBitmapMaskMask; property Bits in ZDIBitmap and ZBitmap to access pixels array directly (by Vladimir Kladov).
  • Bug fixed in XStreams.pas with reallocating memory in ZMemoryStream. Method CopyFrom added to ZStream and in ZMemoryStream it is overriden to copy data from one stream to another memory stream faster. Function Stream2Stream now obsolete and calls CopyFrom method for destination stream (by Vladimir Kladov).
  • XVisual class: virtual function HandleAllocated added. XWindow class: function HandleAllocated is overriden to return True if window is already created. XMFCControl class : function HandleAllocated reintroduced to return True if handle is allocated for its window instance (by Vladimir Kladov, requester Tim Slusher).
  • ZStrList class is now obsolete and ZStringList should be used instead. ZStringList is descending from abstract ZStrings class. CMemo is improved to manipulate with memo strings using CMemoStrings class, derived from ZStrings (by TimSlusher).
  • XWindow class: code for notify all windowed child controls added (by Vladimir Kladov, requester Tim Slusher), when WM_COMMAND message is arrived (all windowed children are receiving CM_COMMAND in that case). CEdit, CMemo are handling CM_COMMAND message and have now additional events OnChange, OnUpdate (by TimSlusher).
2-Nov-99    Reading news, I found another API programming library by Alexander Bokovikov. Ideology of this project is slightly differing from XCL, but it gives even more compact executables with even larger set of controls. The total library is made by the single person - A.Bokovikov. Very recommended. It is enough documentation there, but look at source - it is written very professionally. Some annotations could be in russian on the page, so download ctrls2.zip (~15K), utils.zip (~11K) and api32.zip (~2K) from his page.
31-Oct-99   v1.57 news:

   Those of You, who have already version 1.56 installed, can download xcl157.zip, containing only files, changed/added in v1.57.

27-Oct-99   There were many events in my life from publishing v1.55 at 18-Oct-99 (crush of FAT32, Windows98 and Windows NT on my PC, reinstall of Win98, working under CButton together with Tim Slusher, renovation of my new flatroom, finishing of derivatives with my students, upgrading of my TBaloonHint and CloudHint components, 1st burthday of my son), so this decade I could not even to update my XCL page.
   New in v1.56: CButton. This is only the first (be precisely second, but taking under sonsideration how much it was hard to do...) signs of the series of MFC-based controls. And I glad to see, that Tim like this job and going to do even CRichEdit class in near future.
   Really, CButton was very important to solve problems with including of MFC-based controls branch into XCL (tab-stops, focusing,mouse/keyboard handling and so on, these all tasks had required to make serious changes in XWindow, XForm, XControl and in XMFCControl/XMFCWindow classes).
   New version of XMfcControls.pas contains also CEdit and CMemo, but these both not yet finished, and we all will wait for Tim Slusher to test its.
   Also, v1.56 contains finished ZFileChange class (in XFileChange), that can notify about changes in folder and folder subtree.
   Those of You, who have already version 1.55, can download smaller archive, containing only files, new in v1.56.
18-Oct-99   New in v1.55: ZPicture (abstract), ZClip (abstract), ZDDB, ZHiBmp, ZDIBitmap, ZBitmap, ZIcon classes in XImages.pas. ZDIBitmap and ZBitmap allow storing and painting DIB bitmap even without of creating of handle. After painting on the bitnap it is possible to free up all allocated GDI resources (FreeResources) and paint such bitmap further directly without GDI ! It is possible to have numerous number of such bitmaps and do not care of resource eating more...
   Also: fixed bug with leak of resource in XCanvases.pas. It could not appear before starting of bitmap classes foundation.
10-Oct-99    Unexpectadly found very big bug in version 1.53, so I am hurry to present version 1.54 with XVisuals.pas corrected (reason was in last correction, which was made to prevent incorrect calculating of client rect when part of visual object is invisible. Correction was not finished, as it is found now).
   Also painting of XBevel, calculating of ClientRect for XGroup are changed.
   Added: XImgLists.pas with XImageList (similar to TImageList in VCL, but easier), XImgButton in XImgButtons.pas (similar to TBitBtn in VCL). ZThread in XThreads (by Tim Slusher) is included also (but did not finished yet).
6-Oct-99    XCL v1.53 changes:
  • First fully functional utility made using XCL - ResourceMeter 1.0 (60K, 30K after packing with UPX). ResourceMeter can be used to show Free GDI or/and User resources (only under Windows 9x, for NT this is not urgently). Full project source of ResourceMeter is included as Sample13 into downloadable archive. And for users only, it is announced at new part of this page - Applets.
  • Working under R.M., two changes were made in XTrayIcons.pas. 1st, fixed bug with assigning value to Tooltip property. 2nd, when icon is adding to tray, it is ensures that Applet.Handle is not 0 (if 0, Applet.CreateAppButton is called).
  • Also, small bug fixed in XVisuals.pas to paint correctly overlapped windows and windows, some parts of those are not at screen.
  • Also, unit XInfoSystemResources to get info about free GDI, User and System resources under Windows 9.x [only!] is added (based on freeware TSysInfo component by Sight&Sound, Slovenia .
  • Several useful functions are added: CopyEnd and IndexOfChar in XStrUtils.pas, GetStartDir in XIniFiles.pas.
4-Oct-99    XCL v1.52 changes:
  • XNamedTags.pas add-on. It is possible now to use not just Tag : Pointer property but a set of named tags (for XControl descenders only). E.g., SetNamedTag( Control1, 'Name', ttString, 'Control1' );
  • Applet.ProcessMessages added.
  • XGauge (like TGauge in VCL but non-flickering) and XGaugePercents are added.
  • Changes of XStreams and XFileUtils by Tim Slusher.
  • Remeber new address of XCL page: xcl.cjb.net
3-Oct-99    It is very important. XOOM server mainly is very good for me (and I hope for You too). But sometimes it can low down its performance. There is now such period of unstable working. It may long weeks or months, no concerns. I think, XCL may return there later. But now I decided to find some other good servers to make XCL page accessible. And to be independent from its location, I got universal domain xcl.cjb.net, which always will true. Bookmark this address, and if it is not working, just e-mail me and I will redirect XCL page to another location.
   Now I place on my 'home' page on XOOM a page with list of opened mirrors of XCL page. Try different servers, and if some of these are not working or have too bad accessibility for You, please report me. You may use my old e-mail to send me messages, or one of two new: bonanzas@xcl.cjb.net and vladimir@xcl.cjb.net.
   I am also continuing working under documentation. Soon I will reorganize slightly some of html's into frames to divide too big files onto several small ones.

 

1-Oct-99    Some new funny things are added to XCL: XJustOne.pas, XJustOneNotify.pas and XTrayIcons.pas.
   Also some changes made in XStreams.pas, XStrLists.pas and XLists.pas.
29-Sep-99    Good sounds! Another Delphi developer suggested his assistance in creating of XCL. New version of XCL (1.51) contains changed XFileUtils.pas, XStrLists.pas and new XStrings.pas unit with new classes ZStream, ZFileStream by Tim Slusher.
   Also, I decided to open new section - Articles. I will place there text stories concerning XCL. I hope, this part will be interesting for You and useful for me to improve my English.
   I got counter for this week and see, that either your interest to XCL is fading or my host provider XOOM had problems this week in hosting XCL pages. It is would to be so sometimes. In common, XOOM works better for me than others.
   My work under correcting documentation is continuing. I corrected XClass-XVisual-XWindow-XApplet,XForm,XControl-XCustomControl brunch. If You found some mistakes or omissions in docs listed above, please give me know.
28-Sep-99    Guestbook is added to XCL page:
Show Guest Book           Add Message To Guest Book
   I began a great work of verifying and correcting this documentation. I think, several next days were occupied with this one. But this is very important and useful job.
27-Sep-1999    XCL Forum is open at http://www.delphi.com/eXCL. Visit it and leave there your opinions, suggestions, ask questions and (may be, later) get answers on your questions.
   Small piece of code is added to XApplet.Run to unload OleAut32.dll and Ole32.dll at the start of running (if OleUsed property is not set to True). I found that in that case memory volume (shown by Norton as used by applet) is shorter about 1,5 Mbytes.
   Also I think about adding ProcessMessages procedure to XApplet. If it will be used only by developers in their projects, its code will not be added to executable in cases, when it is not called explicitly.
   I have been asked about Tag property again. I think, that adding of 4 byte-sized field to XClass is not too weightly. I will add this.
   I desided to devote a lot of time to verify and complete the documentation. I found that inaccuracies are arise often from repeating of inherited properties, methods, events in descending classes. I think about using <iframe> tag for include pieces of the same text into html, but this will not work in Netscape. If anybody can give me an advance how to do this better, give me know please. At least now, I decided to stop such practice and leave only names/types of inherited properties, methods, events and names of classes, where from these ones came out.
   Last time (yesterday) I announced XCalendar. I forgot to say: it is multiligual and with call SetCaptionsWithLocale it can use user or system (or certain language) locale settings to initialize captions of dayweek buttons. Unfortunately, info what day is first in a week (Sunday or Monday) is not a subject of locales :(.
26-Sep-99    Fixed: Centering labels; Mouse events for controls on inner panels of XSplitPanel; Initial width of XEdit made equal to 64 pixels; function PointInRect corrected.
   New utility unit XDateUtils.pas is added to provide date/time operations. Type XDateTime differs from TDateTime of VCL in represantation of its value. Integer part of XDateTime is counting days starting from 30-Dec-0001 BC, not from 30-Dec-1899 AD, as it is done in TDateTime. For funs, I included function CatholicEaster (from Swags) there.
   New control XCalendar is added. I think it is even more power than TCalendar in Delphi. It can be horizontally or vertically oriented, it is possible to change first day of week (in some countries week is starting not from Sunday, but from Monday), font of buttons can be not the same as for digits (and rotated with Orientation property), day cells can be owner drawn with event OnPaintDay, events OnClickDay, OnClickWeekDay are provided, captions of weekday buttons are customizable and so on.
23-Sep-99    Some efforts are made to provide correct autosizing of XSplitPanel and its successor XStatus.
    As You could see, I added last time method LoadFromFile to XListView. Now I tested it and added SaveToFile as well.
   Also, XIniFile class is added (not tested) to provide easy working with ini files. I think, that my idea of using the same methods to both read and write allows to simplify code in case of fixed set of keys and sections and avoid most of errors when reading and writing of ini-file made in two different parts of code (and to make code smaller, :)), too )
22-Sep-99    New controls XNotebook, XTabs (similar to XPageControl, but with slightly another appearance and behavior) and XTabbedNotebook are added to XCL palette.
   Great efforts made to implement idea (10-Sep-99) of another imagination of internal (previously hidden and now 'member') controls. I hope, this leads to more easy creation of new controls (in future) and simplifies code. Unfortunately, I have not seen that exe becomes smaller but yet not all changes are made.
   Very interesting bug was found in 1.46 release due to code completion feature of Delphi: field FScrollOffset was inserted into private section of XScrollBox overriding existing protected one (inherited from XVisual). As a result, scrolled objects was not painted correctly after scrolling. In current 1.48 version this bug fixed and to prevent its new appearance, special private function intended to get FScrollOffset value.
   Also small bug fixed with finishing applet, containing the XScrollBar control (abundant calls to destroyers of child scrollbars are deleted).
   Very small change made in XListView to fix annoying appearance/disappearance of horizontal scrollbar while resizing in some cases. Also small change made to provide appearing / disappearing of such scrollbars simultaneously if this has to be done so.
   Attempt was made to implement idea listed 10-Sep-99 (above) to assign all the manager's events to dummy handler, but unsuccessfully. Size of exe was increased about 500 bytes even after deleting all the assignment tests, so I had returned the library to its previous state.
   I am planning to vote some next days to clean code and correct documentation in accordance with changes made through the XCL from its publication.
16-Sep-99    Add-ons XListKeySel.pas and XListEditExt.pas are ready. Now lines of XListView can be edited. XListMouseSel.pas add-on is improved to allow selecting a group of lines with SHIFT key. XScrollbox, XCustomGrid and XListView are corrected to provide smooth scrolling in case of single column/row of grid.
   I am planning XCombo on base of XEdit, XDropButton and XListView next.
14-Sep-99    Something similar to grid in VCL (XCustomGrid, XGrid in XGrids.pas) and XListView (similar to TListBox) are ready, so I have updated arhive on my site. The greatest difference of XGrid from its VCL's mirror TDrawGrid is in that it is not understanding fixed cols and rows. I think that the single optional fixed column/row will be added, but no more, and in another class derived from it. XGrid and XCustomGrid in this "light" status are very useful to derive XListView, which does not need in fixed cols or rows. I spent a lot time to achieve discrete scrolling by columns and rows and result is not looking great in some cases. May be, I will try to return to smooth scrolling later or to make this discrete scrolling smooth with special add-on class. And at least, I will return soon normal horizontal scroll of one-column grid (and XListView as well).
   Working under XCustomGrid, I had to make serious changes in XScrollBox (the ancestor) and in XScroller/XScrollbar. But (I hope) this will not affect its own behaviour.
10-Sep-99    The last of add-ons planned before for XEdit, is ready: XEditUndo which allows to undo/redo editing operations for edit control. Add-on XEditMouseSelect is improved to allow selecting with double click and corrected to work properly with scrolled controls.
   Now I am starting the next great editing control XGrid (similar to TDrawGrid in VCL) and XStrGrid (similar to TStringGrid). I am going to derive later XListBox, XTextBox, XTreeView from these grid controls. I hope, that this will not contradict with the basic principle "not to reduce functionality while deriving new control from more power".
   Also I am investigating possibility of some changes in concept of constructing and painting of self-drawing controls. In particular, if it is more advisable to make inner controls to be normal children of combined control (or at least, store it in the same list and do not show in Children[] property for "users"). It seems could allow to reduce code of PaintTo method (or even eliminate it all) for some combined controls.
   Once more possible way of reducing code never leave me in peace. Every examining of the fact that a handler is assigned to an event of GlobalFormsManager, GlobalControlsManager and so on takes about 14 bytes of code. These examinations could be eliminated at all, but only in case if such events are always assigned to something. It is possible to assign them to dummy procedures (at the moment of creating Global...Manager variables) but creating of such dummy procedures and assigning its to events also takes some code. It would be wonder, if I could create the single dummy handler for all events, but these ones has different parameters number often... And Pascal demands that its number and types (signature) were equal.
08-Sep-99    At last! XEdit is ready and XCL v1.43 becomes more power. Now it is not yet understanding undo, but functions to work with it are ready. And this feature will be implemented as optional add-on, as well as for other unnecessary parts of XCL. Even caret showing, selecting with mouse and clipboard copy/cut/paste commands (these all are ready) are implemented as add-ons and can be included or not to your XCL project.
   Also, ones more small bug fixed with dragging the scroller thumb button up/left. Small correction is made in ZTimer.Destroy method. And other small changes, what I do not remember.
05-Sep-99    New cool add-on added to XCL - XResizeAntiFlicker. It eliminates resize flickering almost at all. This mean that with XResizeAntiFlicker turned on, when You move one of border edges of the x-form, all controls, aligned to opposite side of this one, are standing like a stone image and do not try to jump as rabbit.
   And, finally, XScrollBox is upgraded to restrict painting of scrolled child controls with client area of scrollbox. So, it is now done correctly.
   Also, focus drawing add-on is improved and now focus rectangle is non-flickering when other window is moving through it.
   New version 1.42 contains XApplets.pas unit, modified by C.Kok. Thanks to your assistance.
   Other: main page of my Web is simplified and is loading faster.
01-Sep-99    Greetings again. With new version (1.41) bugs with XScrollBar are fixed and now it is correctly scrolling all its child controls (of any level) and mouse events are provided perfectly for scrolled objects. Also, priority for handling mouse and for painting of XScrollBox scrollbars made highest. I had to make some changes in XVisuals and XForms to do all these above.
   When XCL were only in project, I even could not suppose that ScrollBox can be useful. Now I am sure that it is really need to create scrollable self-painted controls similar TEdit, TListBox, T...Grid in VCL.
   You could ask me: why I spend so lot time to develop hard-working self-painted controls instead of improving MFC-based ones? Yes, creating of MFC-based controls is very easy. But my opinion still is that Foundation Classes are bugged, slow, overblotted, and have restrictions which are insuperable without creating of original controls. So I'd like to avoid of using MFC-based controls in my own applets and do not speed this brunch of XCL tree. If You want, You can make it easy and contact me.
   And, my congratulations to all teachers (even English language :-] ) and students with the start of new academic year!

 

29-Aug-99 - XScroller and XScrollBar are finished. Applets with only XScrollbar component is already about 70K. But this yet smaller then VCL empty form. To show dependency of application size and development time I placed a graphic at the top of this page.
- New small bugs were found and fixed. E.g., XSplitSizing.pas now works more carefully with sizing to right side of XSplitPanel of the first sizeable inner panel. XGrep now is created as alRight-aligned to prevent infinitive looping when FormAutoSize and ControlAutoPlace are using together. Key event is first passed to control which is capturing mouse. Capturing of mouse is improved and special method to XControl class is added. FormAutoSizer object has now property Collapse (default False) to let x-forms to become smaller than its controls are reducing its size (sometimes Collapse=True can lead to infinite recursion in autosizing and autoaligning). Some efforts are made in XFormAutoSize to allow autosizing of alClient, alRight and alBottom aligned controls.

- Also documentation for newly added classes is completed. And a couple of "typo" discovered by one English teacher are corrected. Now Children property is substituting old property Childs, ChildsCount is changed to ChildCount, and property XApplet.Running is corrected too. The teacher did not write more after my reply, where I said that I write not in English but in Pascal. Typographical error in English is not the same as typographical error in Pascal. So, please report me Pascal errors, not English language ones.

 

31-Jul-99 - Even more number of small and not too small bugs are found in add-ons XAligns, XControlAutoPlace and XFormAutoSize while XSplitPanel and XStatus were debugging and testing. Three new self-painting controls are ready: XSplitPanel, XStatus and XGrep.
  All XCL documentation files from this page are now available to download in a single zip, which will refreshing with the page. See bottom/top of this frame!

 

29-Jul-99 - Some small bugs are found while working under XSplitPanel control. All those bugs were affecting XAligns, XFormAutoSize add-on units and painting of XCustomBevel. Very small bug found in XMenus.pas with showing of radioitems after first checking (highlighting not removed). This was taking place only under Windows98. All found bugs are fixed in xcl.zip located on my Web page. Starting from next version, I am going to not place uploaded copy of xcl onto Torry pages to reduce number of re-registrations.
   I had registered as a member of Delphi Corner Web-ring. I hope, this will help me to notice more developers which could be interested in XCL.

 

27-Jul-99 - Small changes are made in XMfcAntiFlick to work with anti-flick more strongly when add-ons XControlAutoPlacer and XFormAutoSize are active too. Now there are no flicks at all for MFC-controls. Also I decided to alternate names for MFC-based controls using prefix 'C' instead 'XW'. So, XWLabel becomes CLabel, XWPaint becomes CPaint and so on.
   Also new XMenus unit is added to library with two new classes XMenu and XPopup.

 

23-Jul-99 - I found a time to spend it to complete documentation. Also, banner of XCL is made, and You now can refer to this page from yours if You like it. I still believe that You will not just watch, but join and take part in creating of XCL...

 

19-Jul-99 - Very important news: XMfcControl class and first MFC-based control XWLabel are finished. These required to make very serious changes in some base classes (XVisual, XWindow, XForm, XControl). But after all that I could find time to fight with flickering (I hate it, and I do know who love it - MS). In result add-on XAntiFlick.pas is ready to stop flicks in MFC-based controls, and add-on XRotateFonts is extended to do so with rotated labels.
   Something yet can be not finished, some bugs could be found, but I am going to go on leave and make holidays with my family (I will read mail at least ones a week and response as far as possible), so I am in hurry to publish all that made even without docs. I hope that some voluntaries from You will join to this project, and assist me in creating other MFC-based control.

 

06-Jun-99 - Documentation for XClass, XVisual, XWindow, XApplet and XForm is ready and I decided to start publishing XCL. Didn't I too hurry up?

 

03-Jul-99 - Several self-painting controls are ready. This set of ready modules allows to create some small utilities starting it from 60Kbytes and without fast increasing of code while programming it. Now, I feel that I will busy with my family during summer, so I decided to stop coding and make some efforts to create a few docs and publish this my work on my page. Go and get it!

 

20-Jun-99 - unit XCanvases had written. Also unit XCanvasObjects is written too. New technique of optional including additional modules extending functionality of basic ones is applied, so applet can either include only XCanvases unit or XCanvases + XCanvasObjects. Or canvases can be voided to include at all if only MFC based controls are used.

 

16-Jun-99 - XCL project has started. This document had written (but not published yet), ZList, XClass, XWindow, XApplet are made. First applet with three windows and total size 23,5Kbytes of executable.

 


DOWNLOAD NEW VERSION OF XCL DOCUMENTATIONHere You can download the total set of this documentation files in a single archive XCLdoc.zip     Idea of XCL Copyright (C) Kladov Vladimir, 1999