Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#1

IcontextMenu 'rename' funktioniert nicht

  Alt 24. Sep 2004, 11:02
Hallo,

ich habe einen ListView, der über ein PopupMenu verfügt. Beim Klicken
der Einträge werden im Code die tatsächlichen InvokeCommand-Befehle
vom Windows ausgeführt. Es funktioniert super mit 'copy', 'cut', 'paste'
und 'delete'. Nur 'rename' streikt. Unbekannter Fehler. Gibt es den
Befehl 'rename' etwa nicht in dieser Form?
Hier mal ein bisschen Code:
Delphi-Quellcode:
    PConMenu := GetIContextMenu(APIDL, ParentPIDL);
    if PConMenu <> nil then
    begin
      FillChar(Command, sizeof(Command),#0);
      Command.cbSize := sizeof(Command);
      Command.lpVerb := '';
      case Com of
        MCpaste:
          Command.lpVerb := MakeIntResource('paste');
        MCcopy:
          Command.lpVerb := MakeIntResource('copy');
        MCcut:
          Command.lpVerb := MakeIntResource('cut');
        MCdelete:
          Command.lpVerb := MakeIntResource('delete');
        MCrename:
          Command.lpVerb := MakeIntResource('rename');
      end;
      if Command.lpVerb <> nil then
      begin
        Check := PConMenu.InvokeCommand(Command);
        if Check = S_OK then
        begin
          if (Com = MCcopy) or (Com = MCcut) then
            SetClipboard(True)
          else
            SetClipboard(False);
        end else
          OleCheck(Check);
Ziel des Ganzen soll sein, dass bei einem Klick auf 'Umbenennen' wie im Windows Explorer
der Inplace-Editor für Datei- und Ordnernamen gestartet wird. Bei 2-maligen Links-Klick
mit gewisser Zeitspanne zwischen den Klicks funktioniert im ListView übrigens tadellos.

Falls keiner eine IcontextMenu-Lösung kennt, wäre eine andere Möglichkeit auch sehr nett.

Grüße

Sebastian
Sebastian
  Mit Zitat antworten Zitat