2

我有一些关于SHBrowseForFolder(). 我将它与BIF_USENEWUI,BIF_RETURNONLYFSDIRS和一起使用BIF_VALIDATE。我主要是编辑框有问题。我希望它的功能有点不同。

  1. 让我们假设,我在一个有效的目录"C:\path"中。如果我在文本框中输入一个不存在的文件夹(让我们称之为"Folder1"),然后按 OK,那么我收到的路径是"C:\path". 有没有办法让它在我按下 OK 时创建"Folder1""C:\path"给我路径"C:\path\Folder1"?(无需使用“新建文件夹”按钮)

  2. 目前,我可以单击"Make New Folder",它会创建一个可以重命名的新文件夹。在文本编辑中,它显示为新文件夹(其默认名称)。重命名文件夹后,它仍然在文本编辑中显示为新文件夹,除非我单击另一个文件夹,然后单击新命名的文件夹。有没有办法在我重命名文件夹后立即更新文本编辑?

4

1 回答 1

1

1 安装应用程序定义的回调函数并指定 BIF_VALIDATE 标志,然后处理 BFFM_VALIDATEFAILED 并尝试在那里创建文件夹。

2 您可以在BFFM_INITIALIZED 中子类化对话框和文本编辑,并从树控件中查找TVN_BEGINLABELEDIT 和TVN_ENDLABELEDIT,然后在用户完成编辑时根据对树节点文本的更改来更改编辑控件中的文本。浏览文件夹对话框中控件的对话框 ID 未记录,因此您需要考虑兼容性风险。如果您的代码在 Windows 更新/升级后中断,我不会感到惊讶,但作为用户,我无论如何都不会错过这个功能。

于 2012-05-30T21:42:53.273 回答