作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试扩展名为 Drax 的现有应用程序它编辑 MP4 电影文件的元数据。我希望能够将文件拖放到它上面,它不支持。我已经能够在删除“剪贴板”数据时对其进行解码,并进行过滤以仅接受我可以处理的文件(扩展名)。 (Like so 但我几乎不知道 winapi/C++,所以它都是 cargo 崇拜。)
但现在我想触发打开文档,其(文件)名称在 TCHAR 中。我卡住了。当我从拖/放操作中知道文件名时,如何触发文件 > 打开对话框会触发的相同类型的操作?
最佳答案
通常,"file"->“打开”对话框不会执行任何操作,但允许用户选择文件名。然后它将这个文件名返回给你,程序员,来做一些事情。
但是,在这种情况下,您正在修改现有的应用程序,因此代码已经编写好了。要找到它,您需要搜索显示文件 -> 打开对话框的方法。查看他们如何处理“打开”对话框返回的文件名。
打开文件的所有逻辑很可能被塞进与显示"file"->“打开”对话框的方法相同的方法中。如果是这样,我会做的是重构代码,这样你就有了一个单独的方法,比如
void OpenFile(CString pszFileName, /* other important parameters */)
{
// ...
}
处理打开文件,由包含其完整路径的字符串指定。一旦从"file"->“打开”对话框中获取文件名,您将调用此方法,也从其他地方获取文件名,就像从拖放操作中获取文件名一样。
关于c++ - window : open a named document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23727642/
我是一名优秀的程序员,十分优秀!