Delphi中的SelectDirectory对话框如何动态验证突出显示的文件夹
发布时间:2020-12-15 09:41:21 所属栏目:大数据 来源:网络整理
导读:有没有办法根据验证规则启用/禁用SelectDirectory对话框中的“确定”按钮,例如: 如果突出显示的文件夹名称为“config”,则启用“确定”按钮 如果突出显示的文件夹包含名为“.project”的文件和名为“.settings”的文件夹,则启用“确定”按钮 ? 解决方法 如
有没有办法根据验证规则启用/禁用SelectDirectory对话框中的“确定”按钮,例如:
>如果突出显示的文件夹名称为“config”,则启用“确定”按钮 ? 解决方法
如果使用
ShBrowseForFolder API函数,则可以执行此操作.我认为Delphi附带了一个包装该函数的SelectDirectory版本,尽管包装器可能无法为您需要的内容提供足够的访问权限.您需要在
lpfn 参数中包含
callback function以及此签名:
function BrowseCallbackProc(Wnd: HWnd; uMsg: UInt; lParam,lpData: LParam): Integer; stdcall; 当选择更改时,对话框将调用您提供的函数bffm_SelChanged作为uMsg参数.第三个参数是表示当前选择的PIDL,因此您可能需要调用 SendMessage(Wnd,bffm_EnableOK,0); // disable the button SendMessage(Wnd,1); // enable the button 在禁用该选项以进行无效选择后,请不要忘记重新启用该按钮以进行良好选择. 如果有效选择的标准是目录应包含具有特定名称的文件,请确保包含bif_BrowseIncludeFiles标志,以便人们可以看到那些文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |