Mega Code Archive

 
Categories / Delphi / VCL
 

FlatHot track effect for components

Title: Flat/Hot track effect for components Question: How can I add the hot track effect to my component? Answer: If you want to add a useful feature to your component (like URL in html or PageControl/TabControl.HotTrack) you must handle the CM_MOUSEENTER and CM_MOUSELEAVE messages: type TyourControl = class(TDescControl) private { Private declarations } FLinkFont: TFont; FPassiveFont: TFont; procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE; end; implementation procedure TyourControl.CMMouseEnter(var Msg: TMessage); begin //Change color when mouse is over control Font.Assign(FLinkFont); end; procedure TyourControl.CMMouseLeave(var Msg: TMessage); begin //Change color when mouse leaves control Font.Assign(FPassiveFont); end; As example, you can view a sources of the TURLLabel and/or THighLightLabel components on my site (http://www.geocities.com/mshkolnik).