Category Archives: Component

SmartTabs version 1.7 released

rkSmartTabs v1.7

SmartTabs in use

rkSmartTabs have been updated to version 1.7.

TabOffsetTop has been removed.

AutoHideClose has been added. When setting this property to True it will hide the close buttons on non active tabs when they get very small. You can see the effect in the picture above.

Tabs no longer trigger the TabChanged event when being dragged.

Download rkSmartTabs1.7

This component uses the GDI + headers found at
In Delphi XE this is not working very well… one solution might be to rename the gdi+ units. If you have a solution to the problem in XE I would be glad to post it here.

PathViewer updated to version 1.1

What is new:

Some arrow types are defined to be used in the new OnDrawEvent:

  TpvArrow = (pvaNone, pvaNormal, pvaBack);
  TOnDrawArrowEvent = procedure(Sender: TObject; PathOff: Integer; var ArrowStyle: TpvArrow) of object;
// Usage to simulate Win7 explorer bar
procedure MainForm.pvMain.DrawArrow(Sender: TObject; PathOff: Integer;  var ArrowStyle: TpvArrow);
  if PathOff > 1 then  
    ArrowStyle:= pvaBack
  if PathOff > 0 then  
    ArrowStyle:= pvaNormal
    ArrowStyle:= pvaNone;

New property added:

RightToLeft: Boolean;

Set this property to true to get a pathviewer that renders the path from right to the left. I have not tested it with right to left languages so if you do I would like to get some feedback of how it works out.

Hope you find it usefull.

Download Updated PathViewer

AeroTabs a new tabs component

AeroTabs in use

My file manager using AeroTabs

I wanted to try to get my rkSmartTabs to work with aero in Vista/Win7 and this is the result.

The result is good, not perfect, but it works and shows how it can be done. Gdi+ is used to render the tabs so you will need it.

When using it with aero/glass remember to set background color to clBlack or you will get strange results.

Hope you find it usefull. I will post more info later and maybe add a simple demo, but if you got rkSmartTabs up and running you will get this one up and running too.

Download Component

A simple PIDL path bar

Demo showing PIDL path bar

PIDL path bar in use

Finally a pathbar using PIDLS so it is possible to navigate the complete shell and not just the file system. It is splitt into two components, rkPathViewer and rkShellPath.

The rkPathViewer is for viewing the path and can be used without rkShellPath for other path viewing needs.

rkShellPath is the component that handle the PIDL part, make it into a path that can be viewed in rkPathViewer. To set a path you normally use procedure LoadPIDL or you can set a filepath using the path property of the component. To read the current PIDL you use the property PIDL.

Hope this helps a little for your shell navigation needs.

First install the two components in the PIDLpath folder. If you want to compile and run the demo add the two components in ShellComp, provided by Bill Miller, before you load and compile the demo.

Finally a big thank you to Gerald Koeder that helped out a lot in this project.

Download Components and demo

Updated VistaProBar

Demo VistaProBar 1.5

Demo of VistaProBar 1.5

VistaProBar has now been updated to version 1.5.
Now supports marquee mode.

New settings are:

MarqueeMode: Marquee on or off
MarqueeSize: Percent used for marquee
MarqueeFade: Percent that should be used for fading the marquee 1..50
MarqueeSpeed: Timer speed setting

Hope you find it usefull.

Download updated component and demo

A little help wanted…


I am working on a path viewer and a shell path provider component but have some problems I cant figure out. If you know shell very well and want to help me on this I would be very happy.

The path viewer component is linked to a path provider. Together they will be a powerfull tool for selecting paths. I have a working set of both path viewer and shell provider but it is not working like I want it to. If you are interested in helping out just contact me and I will send you what I’ve got so far.

If I do not get any help shortly I will just post what I got here and hope someone will figure it out.

Roy M Klever