gpt4 book ai didi

c++ - 右侧资源管理器上下文菜单(IID_IContextMenu?)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:27 31 4
gpt4 key购买 nike

我的一个应用程序有一个类似于文件列表控件的 Windows 资源管理器。当用户右键单击文件时,我可以成功显示资源管理器上下文菜单(带有我自己的一些额外选项)。但是,如果用户右键单击列表控件本身(未选择任何项目),那么我将无法显示“正确”的上下文菜单。我想在右侧显示您在 Windows 资源管理器中看到的那个,而不是在左侧的树中显示的那个。

我在调用 GetUIObjectOf 时尝试了很多变体,我在 Google 网上冲浪等等,但我还没有找到解决方案。有帮助吗?

最佳答案

调用 IShellFolder::CreateViewObject() 以获取文件夹本身的 IContextMenu。 IShellFolder::GetUIObjectOf() 用于检索文件夹内各个项目的接口(interface),而不是文件夹本身。这是在 MSDN 的文档中说明的:

IShellFolder::CreateViewObject Method

This method is also used to request objects that expose one of several optional interfaces, including IContextMenu or IExtractIcon. In this context, CreateViewObject is similar in usage to IShellFolder::GetUIObjectOf. However, you call IShellFolder::GetUIObjectOf to request an object for one of the items contained by a folder. Call IShellFolder::CreateViewObject to request an object for the folder itself.

关于c++ - 右侧资源管理器上下文菜单(IID_IContextMenu?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1193756/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com