在Windows通用应用程序上拖放文件
Drag and drop a file on Windows Universal App
如何在Windows通用应用程序上拖放文件?
我找到的唯一一个教程是:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlDragAndDrop
然而,它在XAML UI对象上运行,而我有一个DirectX游戏,根本不使用XAML。
我只想把一个文件拖放到应用程序窗口(不是一个UI元素,而是整个窗口)上,然后在事件回调中获取文件的完整路径。
我使用的是C++,这需要用于Windows 10通用应用程序。
你能告诉我为什么你不想在这种情况下使用XAML吗?由于UWP XAML UI控件非常方便地支持拖放功能,而且它还支持通过C++与DX进行互操作。这个在线教程可能会有所帮助。从这个在线帮助中,您可以发现您可以自定义自己的控件,使其完全不显示UI。
如果你想在没有XAML帮助的情况下实现拖放文件,这将需要大量的工作:将文件拖动到你的UWP游戏意味着在应用程序之间共享数据,所以你的实现需要遵循UWP数据共享模式,这意味着你需要重新编码XAML UIElement已经封装的所有内容,例如:实现DropTarget控制模式。
对于您的情况,如果您只想打开文件,那么文件选取器会更简单方便。如果您仍然希望支持拖放,强烈建议对XAML和DX进行互操作。在这里你可以找到有用的指南。你可以用C++构建这个应用程序,这将满足你对节省内存和提高性能的担忧。
如果你有任何问题,请告诉我。
相关文章:
- 在组合框中拖放项目
- wxWidgets 拖放文件事件处理程序初始化问题(无效static_cast)
- cout 在我的程序上无法正常工作,有人可以帮助我吗?
- 视窗 10 :笔(手写笔)在 MFC 应用程序上不起作用
- 拖放我的MDI被CRichEditView拦截并在CRichEditView::GetDocument中崩溃 - 如何覆
- c++程序上的奇怪编译错误
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 在C++程序上同时运行的不同任务
- OutputDebugString在Windows通用应用程序上的位置?以及如何从OutputDebugString捕获
- 如何在 2 个应用程序之间实现拖放?
- 使用MFC在对话框上拖放文件
- 如何在QML无窗口应用程序中设置拖放区域
- 处理运行的Windows控制台应用程序中的拖放文件
- 在C++上的两个MFC树列表之间拖放
- CTreeCtrl 禁用特定节点上的拖放
- QT - 拖放 - 在自定义场景上创建自定义图形对象的位置
- 如何制作块生成器拖放布局程序
- 需要解决哪个类以支持Qt应用程序和查找器之间的拖放
- 在Windows通用应用程序上拖放文件
- 拖放Qt:知道目标应用程序悬停-是可能的