zoukankan      html  css  js  c++  java
  • 选择文件弹框置顶

    //打开文件夹对话框的回调函数
    int CALLBACK OpenFolderProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
    {
    if (uMsg == BFFM_INITIALIZED)
    {
    //输出选择的文件夹
    SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData);
    ::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    }
    return 0;
    }

    void CFileRenameDlg::OnBnClickedBtOpenfoldpath()
    {
    // TODO: 在此添加控件通知处理程序代码
    HMODULE module = GetModuleHandle(0);
    TCHAR pFileName[MAX_PATH];
    GetModuleFileNameW(module, pFileName, MAX_PATH);
    std::string workPath = CT2A(pFileName);
    size_t position = workPath.find_last_of("\");//find last
    memset(pFileName, 0x00, strlen(CT2A(pFileName)));
    memcpy(pFileName, workPath.c_str(), position);

    TCHAR szFolderPath[MAX_PATH] = { 0 };
    BROWSEINFO sInfo;
    ::ZeroMemory(&sInfo, sizeof(BROWSEINFO));
    sInfo.pidlRoot = 0;
    sInfo.lpszTitle = _T("请选择文件夹路径:");
    sInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE | BIF_EDITBOX;
    //sInfo.lpfn = NULL;
    sInfo.lParam = (LPARAM)(TCHAR*)pFileName;
    sInfo.lpfn = OpenFolderProc;

    // 显示文件夹选择对话框
    LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo);
    if (lpidlBrowse != NULL)
    {
    // 取得文件夹名
    if (::SHGetPathFromIDList(lpidlBrowse, szFolderPath))
    {
    //strFolderPath = CT2A(szFolderPath);
    }
    }
    if (lpidlBrowse != NULL)
    {
    ::CoTaskMemFree(lpidlBrowse);
    }

    m_editFoldPath.SetWindowText(szFolderPath);

    m_List.DeleteAllItems();
    getFileNames();
    }

  • 相关阅读:
    特殊字符,如Emoji表情Base64存储到数据库
    判断文本文件的编码
    很多.net 程序员不知道又非常重要的 .net高级调试技巧.调试别人的dll方法内的变量
    没想到你是这样的Linux
    PDF转成txt
    生成云图
    Data collection (imaging)
    Python Conda 软件包升级
    电镜作业2的脚本版本
    电镜作业2
  • 原文地址:https://www.cnblogs.com/Pond-ZZC/p/13038812.html
Copyright © 2011-2022 走看看