vc打开文件夹浏览框显示指定位置

.h下面
private:
    static int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData);

.cpp下面
回调函数
int CALLBACK CSystemSetDlg::BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
    if(uMsg==BFFM_SELCHANGED||uMsg==BFFM_INITIALIZED)
    {
        if(uMsg==BFFM_INITIALIZED)
        {
            ::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,
                LPARAM(lpData));
        }
    }
    return 0;
}

文件夹浏览框
    BROWSEINFO bi={0};
    bi.hwndOwner = this->GetSafeHwnd();
    bi.pidlRoot  = NULL;
    bi.lpszTitle = _T("请选择打开路径");
    bi.ulFlags   = BIF_RETURNONLYFSDIRS|BIF_EDITBOX;
    bi.lpfn      = BrowseCallbackProc;
    bi.lParam    = (LPARAM)m_strPath.GetBuffer(m_strPath.GetLength());
    
    LPITEMIDLIST pIdl;
    if((pIdl = SHBrowseForFolder(&bi)) != NULL)
    {
        TCHAR path[MAX_PATH];
        SHGetPathFromIDList(pIdl,path);
        m_strTemplateInfoPath = path;
        m_ctrTemplatePath.SetWindowText(m_strPath);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值