Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi IcontextMenu 'rename' funktioniert nicht (https://www.delphipraxis.net/30412-icontextmenu-rename-funktioniert-nicht.html)

sieppl 24. Sep 2004 11:02


IcontextMenu 'rename' funktioniert nicht
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz