精华内容
下载资源
问答
  • VC实现在浏览目录对话框中选择目录

    千次阅读 2007-09-02 19:45:00
    使用MFC中的CFileDialog类,我们可以很方便的在目录对话框中选择打开或保存文件,但是有时我们需要的是在其中选择一个文件夹,这在MFC中并没有提供.这里提供一个简单的类来实现这个要求,是我在别人的程序代码中找到的....

        使用MFC中的CFileDialog类,我们可以很方便的在目录对话框中选择打开或保存文件,但是有时我们需要的是在其中选择一个文件夹,这在MFC中并没有提供.这里提供一个简单的类来实现这个要求,是我在别人的程序代码中找到的.这个类是CDirDlg.

        CDirDlg类的头文件DIR.H

    #if!defined _THIS_IS_MY_DIRECTORY_SELECT_CLASS_
    #define _THIS_IS_MY_DIRECTORY_SELECT_CLASS_
    class CDirDlg  
    {
    public:
    CDirDlg();
    virtual ~CDirDlg();

    CString GetDirectory(CWnd *pParent=NULL,LPCSTR lpszRoot="c://",LPCSTR lpszTitle="Please Pick a Directory";

    static CString m_sRootDir;

    };
    int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lp, LPARAM pData);

    #endif

    源文件DIR.CPP


    #include "stdafx.h"
    #include "dir.h" 

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    /

    CString CDirDlg::m_sRootDir;

    //
    // Construction/Destruction
    //

    CDirDlg::CDirDlg()
    {

    }

    CDirDlg::~CDirDlg()
    {

    }

    CString CDirDlg::GetDirectory(CWnd *pParent,LPCSTR lpszRoot,LPCSTR lpszTitle)
    {
    CString str;
    BROWSEINFO bi;
        bi.hwndOwner=pParent->m_hWnd; //owner of created dialog box
        bi.pidlRoot=0; //unused
        bi.pszDisplayName=0; //buffer to receive name displayed by folder (not a valid path)
        bi.lpszTitle=lpszTitle; //title is "Browse for Folder", this is an instruction
    bi.lpfn = BrowseCallbackProc; //callback routine called when dialog has been initialized
        bi.lParam=0; //passed to callback routine
        bi.ulFlags=
    BIF_RETURNONLYFSDIRS | //only allow user to select a directory
    BIF_STATUSTEXT | //create status text field we will be writing to in callback
    // BIF_BROWSEFORCOMPUTER| //only allow user to select a computer
    // BIF_BROWSEFORPRINTER | //only allow user to select a printer
    // BIF_BROWSEINCLUDEFILES| //displays files too which user can pick
    // BIF_DONTGOBELOWDOMAIN| //when user is exploring the "Entire Network" they
    // are not allowed into any domain
    0; 
    m_sRootDir=lpszRoot;

    LPITEMIDLIST lpItemId=::SHBrowseForFolder(&bi); 
    if (lpItemId)
    {
    LPTSTR szBuf=str.GetBuffer(MAX_PATH);
    ::SHGetPathFromIDList(lpItemId, szBuf);
    ::GlobalFree(lpItemId);
    str.ReleaseBuffer();
    }

    return str;
    }

    int CALLBACK BrowseCallbackProc(HWND hwnd,UINT msg,LPARAM lp, LPARAM pData)
    {
    TCHAR buf[MAX_PATH];

    switch(msg) 
    {
    // when dialog is first initialized, change directory to one chosen above
    case BFFM_INITIALIZED: 
    strcpy(buf,CDirDlg::m_sRootDir);
    ::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)buf);
    break;

    // if you picked BIF_STATUSTEXT above, you can fill status here
    case BFFM_SELCHANGED:
    if (::SHGetPathFromIDList((LPITEMIDLIST) lp ,buf)) 
    SendMessage(hwnd,BFFM_SETSTATUSTEXT,0,(LPARAM)buf);
    break;
    }
    return 0;
    }

    使用方法:在你的工程中添加这两个文件进去,然后会在类视图中出现在CDirDlg类,该类中只有一个方法GetDirectory(),可以像下面这样用:
    CDirDlg dlg;
    m_strPath=dlg.GetDirectory(this,"我的电脑";

    展开全文
  • VC设置保存文件夹路径

    千次阅读 2011-06-30 11:26:00
    CString strPath; BROWSEINFO bi ={0}; char pszDisplayName[MAX_PATH] ="/0"; bi.hwndOwner=NULL; bi.pszDisplayName = pszDisplayName; bi.lpszTitle="请选择目录:"; bi.ulFlags=BIF

    CString   strPath;  
     BROWSEINFO   bi   ={0};    
     char   pszDisplayName[MAX_PATH]   ="/0";  
     bi.hwndOwner=NULL;  
     bi.pszDisplayName   =   pszDisplayName;  
     bi.lpszTitle="请选择目录:";  
     bi.ulFlags=BIF_RETURNONLYFSDIRS;  
     LPITEMIDLIST  lpIL = SHBrowseForFolder(&bi);  
     if(lpIL)  
     {          
      SHGetPathFromIDList(lpIL,bi.pszDisplayName);  
     }  
     else  
     {  
      strPath=_T("");//return   _T("");  
     }   
     filePath =bi.pszDisplayName;

     

    不会的,忘记的可以直接粘贴过去,可用。

    展开全文
  • 环境:vc6.0开发环境: //弹出保存文件对话框: void OnXXXBrowse() {  CString strFolderPath;  BROWSEINFO broInfo = {0};  TCHAR szDisName[MAX_PATH] = {0};    broInfo.hwndOwner = this

    环境:vc6.0开发环境:

    //弹出保存文件对话框:

    void OnBrowseSaveFile()  
    {  
        CString    strFolderPath;  
        BROWSEINFO broInfo = {0};  
        TCHAR       szDisName[MAX_PATH] = {0};  
      
        broInfo.hwndOwner = this->m_hWnd;  
        broInfo.pidlRoot  = NULL;  
        broInfo.pszDisplayName = szDisName;  
        broInfo.lpszTitle = _T("选择保存路径");  
        broInfo.ulFlags   = BIF_NEWDIALOGSTYLE | BIF_DONTGOBELOWDOMAIN  
            | BIF_BROWSEFORCOMPUTER | BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS;  
        broInfo.lpfn      = NULL;  
        broInfo.lParam    = NULL;  
        broInfo.iImage    = IDR_MAINFRAME;  
      
        LPITEMIDLIST pIDList = SHBrowseForFolder(&broInfo);  
        if (pIDList != NULL)  
        {  
            memset(szDisName, 0, sizeof(szDisName));  
            SHGetPathFromIDList(pIDList, szDisName);  
            strFolderPath = szDisName;  
        }  
    }  


    //浏览文件

    void OnOpenFile()  
    {  
      LPCTSTR szFilter = _T("All Files (*.*)|*.*;|(*.cpp)|*.cpp;|(*.h)|*.h||");  

        // CFileDialog的第一个参数标明是浏览还是保存  
        CFileDialog dlg(TRUE, NULL, NULL,  OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilter);  
        if (dlg.DoModal() == IDOK)  
        {  
            CString fileName = dlg.GetPathName();  //文件路径信息
        }  

    }  



    //获取exe运行的所在路径
    void GetCurPath()  
    {  
        CString strCurPath; // 不包含文件名的全路径  
        GetModuleFileName(NULL, strCurPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);  
        strCurPath.ReleaseBuffer();  
        int nPos = strCurPath.ReverseFind('\\');  
        strCurPath = strCurPath.Left(nPos + 1);  


    好了,今天就介绍到这里,希望读者不懂的地方可以联系我,或者哪里写错了也一定要指出告诉我,呵呵  新浪邮箱:chao_song2011@sina.cn

    展开全文
  • vc 打开目录对话框

    千次阅读 2010-09-19 15:35:00
    首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。      ...

    在实际的MFC编程当中,常常需要弹出对话框选择文件、选择目录等操作,对于选择文件,用CFileDialog就可以很简单的解决,而对于选择目录,则稍稍需要多一些步骤,需要自己创建Dialog。

    首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。

     

     

     

     

    void CDialog::OnButtonBrowser()

    {

           // TODO: Add your control notification handler code here

           UpdateData(TRUE);

           char szDir[MAX_PATH];

           BROWSEINFO bi;

           ITEMIDLIST *pidl;

           bi.hwndOwner = this->m_hWnd;

           bi.pidlRoot = NULL;

           bi.pszDisplayName = szDir;

           bi.lpszTitle = "请选择目录";

           bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;

           bi.lpfn = NULL;

           bi.lParam = 0;

           bi.iImage = 0;

           pidl = SHBrowseForFolder(&bi);

           if(pidl == NULL) return;

           if(!SHGetPathFromIDList(pidl, szDir))   return;

           else m_strPath = szDir;

           UpdateData(FALSE);    

    }

     

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiangxinyu/archive/2010/03/01/5335608.aspx

    展开全文
  • VC 提取指定文件夹目录到INI文件中,可执行对应的操作:选择文件夹、提取目录等,将信息保存在INI文件中,一个操作INI文件的简单例子,期待VC 新手学习参考。
  • VC将WORD保存为BMP

    千次阅读 2013-01-30 08:47:15
    ClassWizeard->AddClass->From TypeLibrary 选择OFFICE安装目录下的msword.olb 导入_Application,_Document,Documents,Paragraphs,Range 第一步将WORD内容复制到剪贴板 BOOL CWordToJPG::CopyWordToClipboard...
  • 1、选择文件夹 在实际的MFC编程当中,常常需要弹出对话框选择文件... 首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函...
  • VC弹出"选择文件"和"选择文件夹"对话框(转) 1、选择文件夹 在实际的MFC编程当中,常常需要弹出对话框选择文件、... 首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strP
  • vc

    2019-04-14 10:57:30
    Hello World! 基本步骤: 1)启动VC++ “开始”->“程序”->“Microsoft Visual Studio 6.0...“新建”,单击“文件”选项卡,选择“C++Source Files”,修改文件保存目录”和“文件”(文件名),单击“确...
  • 在实际的MFC编程当中,常常需要弹出对话框...首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加
  •  首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。    void ...
  • windows程序开发中,如过涉及界面的部分 ,对于浏览对话框、...场合:可以用来设置路径,选择目录。 代码: void CBrowseFolderDlg::OnBrowse() { // TODO: Add your control notification handler code here BROW
  • 保存文件路径的选择

    千次阅读 2009-11-12 16:04:00
    1. BROWSEINFO Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。 (1)BROWSEINFO结构 ●定义 typedef struct_browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR ...
  • VC6LineNumberAddin。

    2017-03-26 14:29:22
    1、如果你的VC6.0安装在C盘,请拷贝 VC6LineNumberAddin.dll 文件 到如下目录: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 2.、注册 双击 VC6LineNumberAddin.reg 进行注册; 3、启用 打开...
  • 使用方法:下载插件后,保存到任何目录,运行VC6,点击菜单“Tools”-“Customize”,选择“Add-ins and Macro Files”页,点击“Browse”,选择这个插件的dll文件,即可。效果很美观。
  • vc6.0显示行号插件

    2010-09-07 11:08:42
    下载插件后,保存到任何目录,运行VC6.0,点击菜单“Tools(工具)”-“Customize(定制)”,选择“Add-ins and Macro Files(附加项和宏文件)”页,点击“Browse(浏览)”,把文件类型选为.dll,选择这个插件的...
  • VC项目操作

    2020-06-22 13:34:39
    先把外来文件复制到当前项目的目录下,从“项目”(Project)菜单下选择“添加项目”(Add to Project)下的“Files”菜单项,从弹出的打开文件对话框中把外来文件打开即可。 如何在一个工作区中打开多个项目? 一般编程...
  • 文件对话框的使用演示,功能有如何设置文件保存对话框、如何设置文件对话框的标题、如何设置文件对话框过滤器、如何设置文件对话框多重选择功能、如何设置文件对话框打开时的目录位置、如何设置从文件对话框中获取...
  • VC远程添加开机自启程序,介绍了通过Win.ini和注册表两种方法实现的添加程序开机自动启动功能,这好像是一个远程控制相关的程序,把本程序拷贝到系统目录下,并改名为intranet.exe,这样做的目的是为了迷惑被控制端...
  • vc6.0使用教程详解.doc

    热门讨论 2011-05-19 13:26:16
    选择“Win32 Console Application”(控制台应用程序,左边倒数第三个),命名工程名称,选择保存位置, 点击“确定”,进入下一步,看到如下提示界面: 建立一个空工程,对应其他需要的你一可以建立别的工程;点击...
  • VC 抓屏的各种方法

    2020-07-25 11:04:58
    目录: l 导言 l 用GID函数抓屏 l 用DirectX方式抓屏 l 用Windows Media API抓屏 导言 有时候我们需要编程抓取整个屏幕上的内容,下面我将介绍抓屏是如何实现的。典型地,我们可以用GID和DirectX来完成,另外一个...
  • 有时候开发人员需要频繁地打开位于某个目录中的文件,比如浏览某个软件包代码的时候,可是VC集成环境的“当前目录”却在project文件所在的目录,每次打开文件时文件选择对话框都会自动定位到project文件所在的目录...
  • DEV C++ VC6.0 Visual Studio 显示行号

    千次阅读 2012-03-09 10:01:40
    DEV C++    在菜单栏里选择 工具-》编译器选项-》显示 ,然后把“行号”那个选项打勾就可以了。    Visual Studio ...下载插件后,保存到任何目录,运行VC6,点击菜单“Tools”-“Customize”,选择“A
  • vc2008写的拼图游戏,含源代码,分为数字和图片两种模式,难度从3阶到9阶可选,用逆推洗牌的方法打乱,不会出现无解的情况,用户可自己选择图片,里面的菜单和按钮都是动态创建的,图片也是动态切割的,切割好的...
  •  (2)单击“短信息发送”按钮,打开“短信发送”窗口,单击“电话簿”按钮,选择发送人,然后单击“插入常用语”按钮选择信息内容,或者在“信息内容”中直接输入要发送的内容,单击“发送信息”按钮即可。...
  • VC驿站 VC++基础班课程目录如下: (当然,有些知识点可能一节课讲不完,那样就会串到下一节课讲,以此类推!) 1、VC++编程环境介绍 ①、编程环境、编译器; ②、名词解释; ③、一个简单的MFC对话框工程; ④...
  • 师父教我VC项目有条理的搭建,怕忘了,记录一下 ...2.创建一个Win32 Static Library工程,保存到prj目录下,命名为test,这个是可以直接编译的,可以生成一个lib文件来被应用程序调用,在工程-设置-选择tese工程,
  • 在上面选择Files页,再在右边Location选择保存目录 然后在那页选择C++ Source File,再在右边的File填写文件名,比如test.cpp 按确定,就新建了一个空的文档 然后,编写如下代码: #include "graphics.h" int ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 123
精华内容 49
关键字:

vc选择保存目录