This component uses the GDI + headers found at progdigy.com
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.
Well I needed to add thumbnails view to my explorer and had some serious problems finding out how to do it. This is more or less what I ended up with. Hope you find it useful. If you improve the code or have another solution I would love to hear about it and maybe post it here.
The code is not perfect and I am sure a lot of tuning can be added but this is a good start. What works in Vista and Windows7 does not work in Xp and some results are different in all versions so it is no easy task I think.
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
if PathOff > 0 then
New property added:
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.
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.
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.