News from 19-Sep-2007 (KOL & MCK v2.80)
[*] New Transparent handling procedure added and set as a default (created by Alexander Karpinsky a.k.a. homm). It adds about 60 bytes in comparison with the old one (available via conditional symbol OLD_TRANSPARENT) but more efficient, since it optimizes amount of redrawing of controls.
[*] New Align handling procedure (created by Alexander Karpinsky a.k.a. homm) made as a default. The old one still available with conditional symbol OLD_ALIGN, but new one is more efficient and lead to less amount of control resizing.
[*] With new conditional symbol TLIST_FAST algorithm and memory usage scheme are totally changed for base TList object. In such case it is optimized for large lists, mainly for minimization of memory reallocations and later less defragmenting the memory heap. But this algorithm requires more code and can be less efficient in some applications.
A property ItemAddress added for TList object.
[*] With new conditional symbol SNAPMOUSE2DFLTBTN procedures MsgBox, ShowMsg, ShowMessage and also ShowQuestion and ShowQuestionEx are changed and provide setting mouse cursor to the default button if such option is cheked in system setting for a desktop.
[-] Standard OpenDirDlg fixed for case when the event handler OnSelChanged set (in Windows95, button OK did not become enabled), and for UNICODE_CTRLS types of data are changed (also for case of such event).
[+] Some changes to simplify creating standard buttons with other child controls on it (e.g. to create buttons with both text and image on it, the same time XP-compatible):
- in MCK for all controls design-time only property added: AcceptChildren. Turning it to TRUE allows to drop other child conrols onto buttons (e.g.).
- in KOL function, and in MCK a property added: MouseTransparent, setting it to TRUE redirects all the mouse events to controls under it.
- in KOL object TImageShow uses properties ClientLeft, ClientTop to offset image while drawing it (in MCK corresponent properties MarinLeft and MarginTop are published for its mirror TKOLImageShow).
- in MCK property Border published for TKOLButton.
[*] File changed, by MTsvDN. What is changed:
1. Drawing all the controls (be exact, drawing the background).
2. Creating fonts fixed.
3. Panel border drawing fixed.
4. Double handling of DblClick on the splitter fixed.
5.Code optimized, size become smaller about 3Kbytes.
6. Handling of  TextAlign for GroupBox added.
7. Working with UNICODE and ANSI provided.
8. Small fix fo a radio box.
9. Drawing he splitted made more standard way.
[*] For memory stream while setting the property Size, the assignimg value no more rounded up to the next bound given by CapacityMask, and used as is. Previous behavior still available via conditional symbol OLD_MEMSTREAMS_SETSIZE.
[-] Working of properties AnchorXXXX for new case of code (it is default, and previous one is avalable via symbol ANCHORS_WM_SIZE) .
[-] For toolbar, hadling of WM_WINDOWPOSCHANGED fixed (true was returned in place of false, in result child controls could not be aligned on the toolbar correctly).
By advice of MTsvDN, in a function WndProc_RichEdTransp_Update handling if the message WM_CHAR added, preventing caret trace while typing text in a transparent rich edit control.
[-] Compiling of asm version fixed for symbol USE_DROPDOWNCOUNT.
Property FixFlatXP (for toolbar) implemented for less cost of code and speed, without using transparency: an empty handler for event OnTBCustomDraw is adding (it was introduced earlier).
[-] In a code generation of MCK reference to MCKControls changed to MCKCtrls.
Some serious changes in KOLPng:
a capability added to load only 1/8, 1/4 or 1/2 of the picture - for less time (this can make loading of the thumbnail faster, especially for interlaced images.
- some pieces of code are optimized using assembler and MMX instructions.


News from 01-Sep-2007 (KOL & MCK v2.79)
[+] Method TControl.RestoreNormalMaximized added for a form (in MCK as a property of type Boolen). It provides saving window state (maximized or not) when an application is minimizing and then restores it when the application is restoring. Unlike MinimizeNormalAnimated, it works for any form, not only for a main form in the application.
1. KOLString parameter type used in SysErrorMessage;
2. Reference to Windows removed in GetTempDir;
3. In functions RegKeySetStr and RegKeySetStrEx calculating of the size of the string fixed;
4. Compiling with symbol DEBUG_CREATEWINDOW defined together with UNICODE_CTRLS fixed;
[*] TMenu.CurControl can now be written for custom purposes.
[-] In functions AutoMinimizeApplet and WndProcMinMaxRestore checking command type for WM_SYSCOMMAND message fixed.
[-] File changed, by MTsvDN and now works much better (though it adds about 12K of code). Also:
1. In KOL, creating PaintBox changed for GRAPHCTL_XPSTYLES symbol to prevent treating it as a static control;
2. Symbol RICHEDIT_XPBORDER returned back (but now it is included automatically if the symbol GRAPHCTL_XPSTYLES also defined);
[-] Property TControl.HasBorder fixed (constant WS_TABSTOP is equal to WS_MAXIMIZEICON, so removing it from form's Style was not correct and a check added if the control is not a form).
[*] A symbol ANCHORS_WM_SIZE provides previous working of AnchorXXXXX properties. Now a message WM_WINDOWPOSCHANGED handled instead WM_SIZE.
KOLDirDialogEx updated: some fixes for usual mode and symbol USE_GRUSH.
KOLGraphic and KOLGif are updated: GIFdecoding is optimized with assembler and MMX and improved to handle better corrupted files.


News from 17-Aug-2007 (KOL & MCK v2.78)
[-] AutoPopupMenu fixed (was not called when assigned to a parent of control). Note: not for NEW_MENU_ACCELL, a problem seems stay there.
[-] Compiling with a symbol NEW_MENU_ACCELL turned on fixed. (Though proper working of the symbol is under doubt).
[-] Menu accelerator double calling fixed when Form.KeyPreview = true.
[+] A symbol TOOLBAR_DOT_NOAUTOSIZE_BUTTON added which allows to prevent assigning TBSTYLE_AUTOSIZE to toolbar buttons having prefix '.' in a caption (in such case it is removed while creating a button). This change is negligible since it is still possible to set desired button width via TBButtonWidth property normally even for autosizing buttons.
[*] Small changes made in TBitmap.LoadFromStreamEx: with new symbol FILL_BROKEN_BITMAP truncated bitmap is filled in with zero bytes (usualy black color), just to prevent rubbish data in the rest of it (usually top of the bitmap).
[-] Using symbol USE_MENU_CURCTL fixed to allow compile it (FParent -> FParentMenu since it was changed time ago).
CanResize is set in the generated code after changing size of the form.
KOLDirDialogEx updated: with several new symbols it can be equipped with additional left-sided links panel, provided both for standard Windows interface and for GRush-styled interface. Also, with a symbol DIRDLGEX_OPTIONAL, it is now possible to use both dialogs - system and custom - in the same application.
Animation and KOLGif are updated: now it can support caching of stretched frames, with special symbol turned on. This makes animation faster. Also, property MinDelay added.
[+] A package spellCheck added: a unit and demo-project to use MS Word to check spelling. Also VCL code is provided.


News from 5-Aug-2007 (KOL & MCK v2.77)
[*] Some more changes in visual_xp_styles and a symbol GRAPHCTL_XPSTYLES, by MTsvDN.
Symbol RICHEDIT_XPBORDER removed and now GRAPHCTL_XPSTYLES should work for it.
[*] In DefaultBtnProc, small check for button visibility added.


News from 4-Aug-2007 (KOL & MCK v2.76)
[+] For toolbar options, tboCustomErase added. And an event OnTBCustomDraw added. If it is not assigned and tboCustomErase set, the control's Color and Brush are used to fill toolbar background (though it is necessary at least assign nil as a handler, in MCK this is done automatically). With the event set, it is possible to do more things (e.g. provide gradient fill).
[-] ExtractFileName asm-version fixed (to use ':\/' string as a list of delimiters like asm-version).
[+] With a new symbol STOP_WNDPROCTRANSPARENT_AFTER_APPLETTERMINATED the attached handler WndProcTransparent stops working after the applet terminating and in case when the window is not actually visible (ToBeVisible=false).
[-] WndProcGradient fixed for case when NEW_GRADIENT is not defined, for some gradient fill styles.
[*] CanResize default behavior changed and now it is not changing border style to WS_THICKFRAME at all by default. Instead, in responce to WM_NCHITTEST when a mouse is over border, always HTNOWHERE is returned which gives the same visual effect (cursor shape is not changed to a resize-like). To return to the previous behavior, use a symbol CANRESIZE_THICKFRAME.
In MCK, generating unit code fixed ({$IFDEF KOLCLASSES} {$I T...) in one place (letter "T" was omitted).


News from 28-Jul-2007 (KOL & MCK v2.75)
[*] Some changes GRAPHCTL_XPSTYLES, by MTsvDN:
- some fixes for splitter, panels;
- theme changing.
[-] Changes in MCK to fix Vista Aero theme bug with adding 8 pixels to the right and bottom side of thick window (made thick at run time). For KOL, thick borders are used in non-resizeable forms. Note: This only affects (fixes) forms, non-resizeable from the creation, not made non-resizeable at run-time. by Yuri Sidorov.
[-] With new symbol MODAL_ACTIVATE_FIX switching back to the aplication with modal form active, makes all the visible forms foreground (above other applications windows).
[-] When a symbol NOT_FIX_MODAL is not defined, it fixes clicking on any form of the inactive KOL application but this dis not work correctly for nested modal calls. Now this is fixed too.
[-] Using symbol NEW_MODAL fixed (it is requred for ShowModalParented, but it could not compiled in ASM_VERSION).
[*] ShowQuestionEx takes in attention the variable NoGRush (when TOGRUSH_OPTIONAL and USE_GRUSH are defined). So, if NoGRush is set to TRUE, standard colors and layouts are used even if USE_GRUSH defined. This is useful to create dual interfaces, both GRush-like and standard, in a single application.


News from 26-Jul-2007 (KOL & MCK v2.74)
[+] A lot of changes to provide correct drawing of Graphic controls, BitBtn and nested Groupboxes with XP themes, by MTsvDN:
- use symbol GRAPHCTL_XPSTYLES_BITBTN for drawing BitBtn in XP themed style;
- use symbol GRAPHCTL_XPSTYLES to correct font in nested group boxes (mainly this symbol is for graphic controls though).
[*] Use symbol BUTTON_DBLCLICK to separate double click from two clicks on buttons.
[*] Use symbol TV_DRAG_RBUTTON to allow dragging tree view items with right mouse button too.
[*] Use symbol HTMLHELP_NOTOP to pass 0 as a parent window for Html Help.
[-] Using symbol ESC_CLOSE_DIALOGS separately from KEY_PREVIEW fixed (asm version).
[-] Lnk.pas fixed (function FileTypeReg2Ex).
[+] Defines for Delphi 2007 added to, by Thaddy de Koning.


News from 5-Jul-2007 (KOL & MCK v2.73)
[+] TControl.OnMoving event added.
[*] RichEditClass and several other variables moved to interface part (to allow to get know which version of RichEdit is used).
[*] TControl.DragStartEx changed a bit.
[-] NewRichEdit1 fixed for case of SMALLEST_CODE symbol (asm-version).
[-] WndProcJustOne fixed (asm-version). Both JustOne and JustOneNotify work more correct now.
[-] KOLOLERichEdit fixed and now works without bugs, also in Windows 9x.


News from 30-Jun-2007 (KOL & MCK v2.72)
1. ShowMessage (String -> KOLString).
2. RE_URL asm-version fixed.
1. TKOLGRoupBox: code provide for TextAlign initial setup.
2. SetUnicode generated later TextAlign allowing set it for EditBox'es (otherwise window handle is created and TextAlign is not applied).
[*] Small changes in KOLComObj and ActiveKOL (KOLActive package).


News from 26-Jun-2007 (KOL & MCK v2.71)
[+] With new conditional symbol SUPPORT_ONDEADCHAR, new event OnKeyDeadChar is available (for controls), responding to WM_DEADCHAR and WM_SYSDEADCHAR messages.
[*] Event OnChar has renamed to OnKeyChar (previous name still available for compatibility as a synonim).
[+] Event OnFormClick added. In MCK, for TKOLForm it is referred as OnClick as earlier, so visually there are no changes if MCK used, but OnClick now works for forms too.
[-] For form, OnKeyUp and OnKeyChar (=OnChar) was not working for KeyPreview=true, fixed.
[+] MCK: for TKOLForm, KeyPreview property published, so no more needs to assign it at run-time (if MCK used).
[+] rich edit:
1. Procedure added: RE_CancelFmtStanard, which cancels RE_FmtStandard detaching window procedure from the rich edit control.
2. Properties added: RE_AutoFont, RE_AutoFontSizeAdjust, RE_DualFont, RE_UIFonts, RE_IMECancelComplete, RE_IMEAlwaysSendNotify, RE_Zoom. For MCK mirror (TKOLRichEdit) all these properties are available at design time.
[-] rich edit: for MCK mirror (TKOLRichEdit), the order of code generation changed a bit to provide RE_AutoURLDetect set before assigning initial text (otherwise, URLs are not selected).
[+] Function added: MakeSmallPoint.
[-] Compiling fixed for case when conditional symbol NOT_USE_RICHEDIT present in options.
[+] KOLOleRE package updated: Freeze and Unfreeze methods provided.
[*] Small changes in KOLComObj (KOLActive package) to provide compiling KOLOleRE in Delphi 6.


News from 23-Jun-2007 (KOL & MCK v2.70)
[+] rich edit, memo: TControl.SavePosition, RestorePosition, UpdatePosition methods added to make it easier restoring position after a set of changes in the text and formatting.
[-] rich edit: RE_StartIndent fixed (offset was adding to a previous indent instead of setting new value).
[-] Tabulating back with Shift+Tab fixed (asm-version). Appeared when KeyPreview was true for a form.
[*] KOLTrackBar component updated (now can be used without adding USE_PROP symbol).
[*] kolmath updated (asm versions for Min, Max).


Previous news (versions 2.60-2.69)
Previous news (versions 2.50-2.59)
Previous news pages

Copyright (C) 1999-2007 by Vladimir Kladov