Knowledge Base

ShellBrowser Delphi Components

Hallo und herzlich Willkommen in unserer Wissensdatenbank.
Unsere Fachexperten liefern hier Antworten auf die häufigsten Fragen unserer Kunden.
Beginnen Sie Ihre Informationssuche hier, um schnell und einfach auch Ihre Antwort zu finden.
Geben Sie bitte einen Suchbegriff ein oder wählen Sie eine der obenstehenden Kategorien aus.

Alle Einträge (Seite 4 / 5)

How can I get a list of all checked items in a JamShellTreeList?

If you want to iterate over the list of all selected items, you can use the method FindNext() of the JamSelectionList, e.g.: 


This returns the names of the selected files and folders. When all items have been enumerated, an empty string will be returned.

If you want to get a list of the selected items, you can use the Paths property of the JamSelectionList.

Is there a way to set the TJamShell controls to prevent the user from executing a shell command, e.g. Delete?

You could use the OnBeforeShellCommand event to overwrite the Windows Shell 's default behaviour and set the var parameter AllowExecute to False in such a case.

I wish to expand every node down to it's lowest level in JamShellTree. I am using the FullExpand method but this is only expanding down one level at a time. Is there a better way?

TTreeNode.Expand(True) should do this job, e.g.:


It appears the TJamShellTree.IsMovePossible() function no longer works after changing the RootedAt property.

The history is cleared if you root a JamShellTree at a different folder. The reason is that you usually have an entire different branch of the shell namespace available in the tree control and can't simply move back to the old folders as they are most likely no longer part if the display branch.

How can I highlight one specific item in the TJamFileListlist?

To select item after adding it, you can use:

JamFileList1.Add( 'C:\ctapi_out_gr.txt ').Selected := True;

If you just want to highlight items in a custom way, you could use the CustomDraw events that the TJamFileList inherited from Delphi 's TListView.

I want to drag and drop (copy) by default (not move). Do you have a routine that does this?

Setting the property CopyMode to cmCopy should do this job.

Is it possible to change specific file or folder properties such as Comments or Company Name?

No, this is not possible with the ShellBrowser Components.

Is it possible to preserve the original folder structure when I copy files from different folders using the TJamFileOperation? For some reason, they are all copied into the root of the destination folder

The component does not support the creation of folder structures, it only copies the given files to the destination folder.

How can I add specific files to the TJamFileList?

The JamFileList has an Add(string) method that requires the full qualified path of the item and adds the passed file or folder to the list.

I want to get the icons from a file or folder. Can I use a ShellBrowser component?

The best way to get icons is to use the TJamSystemImageList component, which is a descendant of Delphi 's ImageList component.

I got errors saying that the .dcu files of ShellBrowser units could not be located. I tried re-installing the package, but I`m still getting errors. What is wrong and how do I fix it?

If Delphi says that DCU files are missing, please check if the appropriate .PAS or .DCU are on your disk. If so, please check in the Delphi Options if these paths are included in the Library Paths.

If you verified that both is conditions are true, then there is most likely a problem with your Delphi installation.

What is the syntax for renaming a file with JamFileOperation? Where does the new file name go?
What is to do if you want to copy a file to the same folder and rename it at the same time?

To rename a file, you can use code like this:

JamFileOperation.Destination := 'C:\Temp\ ';

This code will rename C:\Temp\ to C:\Temp\

To rename multiple files, you have to execute this code in a loop.