ShellBrowser Delphi Components Documentation
ContentsIndexHome
Example

Let's say you have your files listed in a ListView, which property ReadOnly is false. The user can rename the objects in the ListView and you can use the Event OnEdited of the ListView to handle the renaming:

procedure TMainForm.ListViewEdited(Sender: TObject; Item: TListItem; var S: String);
var newName: WideString;
begin
  ShellBrowser.ObjectName := Item.Caption;//the complete path must be in the caption
  newName := ExtractFileName(S);//ExtractFileName is contained in SysUtils
  ShellBrowser.RenameObject(newName);
end;