About/Contact

Steve Trefethen

Steve Trefethen is a Director of Engineering at Reply. Contact me

View my LinkedIn profile


Powered by discountASP.NET
referal ID: sdtref
Why recommend discountASP.NET?
$720 in referrals so far!


Calendar

<<  February 2012  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Disclaimer

The posts on this weblog are provided AS IS with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.



VCL and RTL enhancements since Delphi 7 (D7)

April 02 2007 6:47PM
Nick Hodges put together a list of changes to the VCL since D7 and I thought I'd pitch in and help expand since it only includes a few of the high level items. I'll try and avoid duplicating items Nick's list (no guarantees). This is by no means an exhausive list and does not include bug fixes nor does it mention cases where we've made numerous methods virtual/protected to better enable descendant classes.
  • New TDragObject properties AlwaysShowDragImages and RightClickCancels
  • New TDragDockObject properties EraseDockRect and EraseWhenMoving
  • New classes TCustomControlAction, TControlAction, TCustomTransparentControl, TColorListBox, TTrayIcon
  • Many new methods on TControlActionLink for binding to additional properties on TControls
  • New Control States: csDesignerHide, csPanning, csRecreating, csAligning
  • New Control Styles: csPannable (mousewheel support), csAlignWithMargins
  • New events published throughout VCL: OnMouseActivate, OnMouseEnter and OnMouseLeave now with reliable enter/leave detection
  • New events on TWinControl OnAlignInsertBefore and OnAlignPosition for use with alCustom alignment style
  • New TWinControl property MouseInClient
  • New TDragImageList property DragHotSpot
  • New TDockZone property ChildControl
  • TDockTree has many new methods for better mouse support
  • Improved double buffered painting performance
  • Updated appearance with gradient painting support for TControlBar
  • New events on TControlBar BeginBandMove/EndBandMove
  • New properties on TControlBar CornerEdge, DrawingStyle, GradientDirection, GradientStartColor and GradientEndColor
  • New property on TColorBox: OnGetColors
  • New properties on TCustomForm: PopupMode, PopupParent
  • New properties on TScreen: CursorCount, FocusedForm, SaveFocusedList, PrimaryMonitor
  • New properties on TApplication: ActionUpdateDelay, ActiveFormHandle, MainFormHandle, MainFormOnTaskbar, ModalLevel, ModalPopupMode, PopupControlWnd
  • New events on TApplication: OnGetActiveFormHandle, OnGetMainFormHandle
  • Improved drawing support meaning less flicker for many controls throughout VCL
  • Constants for standard web colors added to Graphics.pas
  • RGB conversion routines for working with web colors/color names
  • New Pen Styles: psUserStyle, psAlternate
  • New property on TFont: Orientation
  • Enumerator support on numerous classes throughout VCL for use with "for...in"
  • New property on TOleControl: ServiceQuery
  • New action: TBrowseForFolder
  • New property on TLabel: EllispsisPosition
  • New property on TComboBox: AutoCompleteDelay
  • New property on TListBox: AutoCompleteDelay
  • New properties/events on TTabSet: Images, ShrinkToFit, TabPosition, OnGetImageIndex
  • Numerous ActionBand menu enhancements
To elaborate on Nick's FastCode mention there is the following on the RTL side:
  • New high performance memory manager
  • FastCode routines:
    • Move
    • _FillChar
    • _LStrCmp
    • Pos
    • __lldiv
    • UpperCase
    • LowerCase
    • CompareStr
    • CompareMem
    • CompareText
    • StrLen
    • StrCopy
    • StrComp

  • Numerous inlined routines throughout the RTL
[Update: Mar 2, 2007] Fixed typo.
FacebookDel.icio.usDigg It!

Tags: , ,

Comments (2) -

4/2/2007 8:51:39 PM #

Wow, I was unaware of several of these! I use actions a lot, but TBrowseForFolder is a big surprise, as is EllispsisPosition on a TLabel!

The new Margins and Padding properties introduced in BDS 2006 (I think) are also amazing for creating UI without the need to add spacers all over the place. A big thank you to whoever thought of that!

Thanks for this great post Steve!

Eric Fortier

4/3/2007 1:22:43 AM #

"New TDragObject properties AlwaysShowDragImages and RickClickCancels"

1) Why does Rick get preferential treatment?
2) Will there be a TDragObject.DaveClickCancels in a future version?

David Clegg

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading