2010-08-10 256 views
0

我有一個TreeView代表Windows文件系統中的一些文件/文件夾。我希望能夠右鍵單擊並顯示標準的Windows上下文菜單。節點的標籤包含文件路徑。 我花了相當長的時間研究,我發現這個:http://www.codeproject.com/KB/cs/shellContextMenu.aspxWindows資源管理器上下文菜單問題

但是,它似乎缺少「重命名」項目。所以我想弄回來..

我也想知道如何處理這些功能。例如,如果用戶重命名或刪除文件,我想刪除該節點/相應地重命名該節點。

我在C#編程,.NET 4

回答

0

您需要包括在uFlags參數的CMF_CANRENAME標誌IContextMenu.QueryContextMenu,表明您的主機應用程序支持重命名的項目。

+0

我該如何將它與我的樹視圖集成以調用編輯模式?在樹上有一個IsEditable屬性,所以我想能夠正確地支持它。 – Eaton 2010-08-10 15:25:32

+0

TrackPopupMenu返回選定的命令ID後,您將其傳遞給帶有GCS_VERB的IContextMenu.GetCommandString。如果返回的動詞是「重命名」,則可以使用TreeView控件的內置編輯功能(TreeNode.BeginEdit)。最後,通過調用IShellFolder.SetNameOf來應用名稱更改。在添加Rename菜單項之前,您可能還需要檢查IShellFolder.GetAttributesOf是否返回SFGAO_CANRENAME。 – 2010-08-11 07:57:35

相關問題