如何使用Win32 API右键拖动?
|
我实现了IDropTarget接口,并且拖放(来自资源管理器的文件)效果很好。
当我用鼠标右键拖放文件时,上下文菜单不会弹出。
因此,我认为显示上下文菜单是我的责任,
但是在IDropTarget :: Drop方法中,(grfKeyState&MK_RBUTTON)始终为0。
我怎么知道鼠标拖动按钮是否正确?
有没有一种特殊的方法来显示菜单并在下拉菜单后接收选择?
(我更喜欢Win32 API的方式,我不使用MFC。)
没有找到相关结果
已邀请:
1 个回复
距相镭
)始终为0,因为调用
方法时,鼠标按钮已经释放(您刚放下鼠标)-因此,键盘/鼠标状态标志自然会表明它确实已释放。 您可以做的(根据文档,应该做的)是预先确定处理
时对Drop()采取的处理措施。我自己还没有尝试过,但是我很确定应该在此处设置MK_RBUTTON标志。您可以在调用放置目标的
方法时检查该标志,保存该标志,然后在调用
时自己打开上下文菜单。这不是最干净的解决方案,但是我不知道是否有一种方法可以使Windows为您显示上下文菜单。