gpt4 book ai didi

c++ - 如何使用 Win32 API 右键拖动?

转载 作者:行者123 更新时间:2023-11-30 03:06:56 26 4
gpt4 key购买 nike

我实现了 IDropTarget 接口(interface)并且拖放(来自资源管理器的文件)运行良好。

当我用鼠标右键拖放文件时,上下文菜单没有弹出。

所以我认为显示上下文菜单是我的责任,

但在 IDropTarget::Drop 方法中,(grfKeyState & MK_RBUTTON) 始终为 0。

我如何知道拖动鼠标按钮是否正确?

有没有一种特殊的方法来显示菜单并在下拉后接收选择?

(我更喜欢 Win32 API 方式,我不使用 MFC。)

最佳答案

我猜 (grfKeyState & MK_RBUTTON) 总是 0 因为当调用 Drop() 方法时,鼠标按钮已经被释放(你刚刚做了drop) - 键盘/鼠标状态标志自然会表明它确实已发布。

您可以(根据文档,应该)做的是,在您处理 DropEnter()< 时,提前决定您对 Drop() 采取的操作过程。我自己还没有尝试过,但我很确定应该在那里设置 MK_RBUTTON 标志。您可以在调用放置目标的 DropEnter() 方法时检查该标志,保存它,然后在调用 Drop() 时自己打开上下文菜单。这不是最干净的解决方案,但我不知道是否有办法让 Windows 为您显示上下文菜单。

关于c++ - 如何使用 Win32 API 右键拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155925/

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