C++选择文件夹代码的封装_C 语言

本文实例讲述了C++选择文件夹代码的封装,分享给大家供大家参考。具体方法如下:

该实例分为DirDialog.h头文件与DirDialog.cpp源文件。

DirDialog.h头文件代码如下:

复制代码 代码如下:

#pragma once 
#ifndef __DIRDIALOG_H_HH 
#define __DIRDIALOG_H_HH 

#include <Shlobj.h>  

class CDirDialog 

protected: 
    BROWSEINFO m_bi; 
    char m_szDisplayName[MAX_PATH]; //显示名称 
    char m_szPath[MAX_PATH]; //选择的目录 
 
public: 
    //显示对话框 
    BOOL DoBrowse(HWND hwndOwner, LPTSTR pszDisplayName); 
 
    LPCTSTR GetPath(){return m_szPath;}; 
 
    CDirDialog(void); 
    ~CDirDialog(void); 
}; 
 
#endif

DirDialog.cpp源文件代码如下:

复制代码 代码如下:

#include "DirDialog.h" 

CDirDialog::CDirDialog(void) 

    ::ZeroMemory((void*)&m_bi, sizeof(BROWSEINFO)); 
    memset(m_szDisplayName, 0, MAX_PATH); 
    memset(m_szPath, 0, MAX_PATH); 
    m_bi.hwndOwner = NULL; 
    m_bi.pidlRoot = NULL; 
    m_bi.lpszTitle = "请选择文件夹"; 
    m_bi.ulFlags = BIF_RETURNONLYFSDIRS ; 
    m_bi.lpfn = NULL; 
    m_bi.lParam = NULL; 
    m_bi.iImage = NULL; 

 
BOOL CDirDialog::DoBrowse(HWND hwndOwner, LPTSTR pszTitle) 

    m_bi.hwndOwner = hwndOwner; 
    m_bi.lpszTitle = pszTitle; 
    PIDLIST_ABSOLUTE pItem = ::SHBrowseForFolderA(&m_bi); 
    if (pItem != NULL) 
    { 
        ::SHGetPathFromIDListA(pItem, m_szPath); 
        return TRUE; 
    } 
     
    return FALSE; 

 
CDirDialog::~CDirDialog(void) 

}

使用时的代码如下:

复制代码 代码如下:

CDirDialog dir; 
if (dir.DoBrowse(hwndDlg, "title")) 

 ::MessageBoxA(hwndDlg, dir.GetPath(), "", MB_OK); 
}

希望本文所述对大家的C++程序设计有所帮助。

时间: 2024-08-02 00:44:44

C++选择文件夹代码的封装_C 语言的相关文章

vbs,hta中选择文件夹对话框实现代码_vbs

复制代码 代码如下: on error resume next SelectFolder function SelectFolder() Const MY_COMPUTER = &H11& Const WINDOW_HANDLE = 0 Const OPTIONS = 0 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_COMPUTER) Set

C#下载文件时候弹出选择文件夹保存目录的代码

下载 //保存文件夹选择对话框引用//添加引用system.design.dll   /using System.Windows.Forms.Design; private void button4_Click(object sender, System.EventArgs e)  {    //选择文件的保存路径   //添加窗体控件folderBrowserDialog1   DirBrowser   olderBrowserDlg=new   DirBrowser();          

选择文件夹的对话框控件c#

对话框|控件 我们知道,C#里面有选择文件的对话框控件,却没有选择文件夹的对话框控件,不少人为了选择一个文件夹只好自己用TreeView类来处理,其实在C#里面完全不用那么麻烦,我们可以用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能.  下面来看看具体是怎么实现的.  首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class).  因为FolderNameEditor是在System.Win

delphi选择文件夹例子

  所需单元  代码如下   uses FileCtrl; 示例代码  代码如下   procedure TForm1.btn1Click(Sender: TObject); var path:String; begin        if SelectDirectory('请选择文件夹','',path) then        ShowMessage(path);   end;

请教,WPF winForm开发,选择文件夹多个图片并且预览该如何做

问题描述 选择单个图片显示,用OpenFileDialog可以实现问题1:如果是选择文件夹里多个图片用FolderBrowserDialog如何实现多个图片同时显示,另外盛放图片的容器用哪个,因为是不确定图片数量,需要动态添加.类似于选择完1个文件夹,如果里面有多个图片能够以图片列表的方式呈现问题2:如果用OpenFileDialog,怎么把不是图片格式的文件或者文件夹给过滤掉新手,还请大侠多多帮忙 解决方案 解决方案二:1.文件选择对话框,选择多个文件并绑定ListBoxprivatevoid

android中写一个内部类来选择文件夹中指定的图片类型实例说明

复制代码 代码如下: /**本类是用来选择文件夹中是.jpg类型的图片*/ private class JpgFileFilter implements FilenameFilter{ @Override public boolean accept(File dir, String filename) { // TODO Auto-generated method stub return filename.endsWith(".jpg"); } }

收集的多个ruby遍历文件夹代码实例

  这篇文章主要介绍了收集的多个ruby遍历文件夹代码实例,本文总结了4个代码片段,小编推荐最后一个方法,因为它很简洁优雅,需要的朋友可以参考下 一.遍历文件夹下所有文件,输出文件名 代码如下: def traverse_dir(file_path) if File.directory? file_path Dir.foreach(file_path) do |file| if file !="." and file !=".." traverse_dir(file

C# 如何像fileUpLoad控件那样实现浏览选择文件夹的路径

问题描述 C# 如何像fileUpLoad控件那样实现浏览选择文件夹的路径 做一个选择文件夹的功能 可以点击按钮浏览本地的文件夹选择后文件夹的路径保存在框中,谢谢大神们 解决方案 OpenFileDialog FolderBrowserDialog

mfc 如何通过checkbox控件选择文件夹路径

问题描述 mfc 如何通过checkbox控件选择文件夹路径 我创建一个mfc 工程, 如何通过checkbox控件弹出一个对话框选择文件夹路径,并获取该文件夹的路径.求大神指导 解决方案 勾上check box后,就调用跳出文件选择对话框 CString strFilePath; TCHAR pszBuffer[_MAX_PATH]; BROWSEINFO bi; LPITEMIDLIST pidl; bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.ps