VC中打开对话框选择文件和文件夹

1、选择文件

CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this);

if (IDOK == dlg. DoModal())

{

MessageBox(dlg .GetPathName(), _T("" ));

}

2、选择文件夹

BROWSEINFO bi ;            // BROWSEINFO结构体

TCHAR Buffer [512] = "";

TCHAR FullPath [512] = "";

bi.hwndOwner = m_hWnd;    // m_hWnd程序主窗口

bi.pidlRoot = NULL;

bi.pszDisplayName = Buffer; // 返回选择的目录名的缓冲区

bi.lpszTitle = "Selection"; // 弹出的窗口的文字提示

bi.ulFlags = BIF_RETURNONLYFSDIRS ; // 只返回目录。其他标志看MSDN

bi.lpfn = NULL;                         // 回调函数,有时很有用

bi.lParam = 0;

bi.iImage = 0;

ITEMIDLIST* pidl = ::SHBrowseForFolder (& bi); // 显示弹出窗口,ITEMIDLIST很重要

if (::SHGetPathFromIDList (pidl, FullPath))     // 在ITEMIDLIST中得到目录名的整个路径

{

// 成功

}

else

{

// 失败

}

 本文用菊子曰发布

时间: 2024-08-06 03:42:04

VC中打开对话框选择文件和文件夹的相关文章

VC++中复制对话框资源 之较好方法之一

资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下: 碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中.在网上搜了几个帖子发现都说的很生涩. 问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中. 1.在VC2012中打开老的工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件(就是双击后会出现编辑窗口界面的那个东西),按Ctrl+C(Edit->Copy也一样). 2.关闭当前工程,注意不要关

vc中改变对话框的背景色

---- 笔者曾在<软件报>2000年第5期中讨论过如何改变控件的颜色,但还有相当一部分的读者来信提问:一个基于对话框的MFC AppWizard应用程序中,如何改变对话框的背景颜色呢?对于这个问题,其实可以由几种不同的方法来实现,具体如下(粗斜体代码为增添的): ---- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. ---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色.下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下: --

Python.tkinter.打开对话框选择文件文件夹

""" tkinter.filedialog.asksaveasfilename():选择以什么文件名保存,返回文件名 tkinter.filedialog.asksaveasfile():选择以什么文件保存,创建文件并返回文件流对象 tkinter.filedialog.askopenfilename():选择打开什么文件,返回文件名 tkinter.filedialog.askopenfile():选择打开什么文件,返回IO流对象 tkinter.filedialog.a

NSOpenPanel-Object C组件-打开对话框-选择文件/文件夹获得路径

1. NSOpenPanel的beginWithCompletionHandler:^(NSInteger result),打开文件对话框时,对话框出现在屏幕的中央. NSMutableArray * fileURLArray = [[NSMutableArray alloc] init]; NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel]; [mySelectPanel setCanChooseDirectories:YES]; [my

VC中明明已经添加了头文件却还提示未定义的问题

我在VS中编译程序遇到这个错误:error C3861: 'ReadDirectoryChangesW': identifier not found, even with argument-dependent lookup 差了一下MSDN,说是要包含 windows.h 头文件,我照做了,但是错误依旧.为什么呢,不应该啊,明明已经按照MSDN中要求的做了,还是不行呢? 仔细阅读MSDN,发下这样一句话:To compile an application that uses this funct

wxPython Modal Dialog模式对话框,Python对话框中打开对话框

今天用wxPython写一个输入关键词自动生成文章工具,设置部分需要用模式对话框来打开设置界面.下面介绍wxPython Modal Dialog模式对话框: 1. Modal Dialog(模式对话框) A modal dialog blocks other widgets from receiving user events until it is closed; in other words, it places the user in dialog mode for the durati

CAD中如何查询CAD图纸的文件信息

现在有很多的CAD小白一开始都是在网上下载的一下CAD图纸进行学习,看看别人是如何绘制的,但是从网上下载的一些CAD图纸每个文件的内容可能不太一样,版本也会有所不同,从而导致一些CAD图纸打不开的现象,那在CAD中如何查询CAD图纸的文件信息?小伙伴们知道要怎么来操作吗?下面小编就来教教大家具体的操作方法,不会的小伙伴们可以来看一下,希望对你们有一定的帮助. 第一步:在电脑中的浏览器中搜索迅捷CAD编辑器(标准版),然后在搜索的结果中鼠标点击进入官网,进入之后根据系统提示的下载安装最新版本的CA

如何打开用eclipse没有.project文件的Java工程

大概分为以下7个步骤,具体如下: 1.在你的eclipse下新建一个与你想要打开的源代码项目同名的一个项目(我这举例叫myweb). 2.在电脑磁盘中找到刚刚新建的项目,把它生成的.project文件拷贝到你的源代码项目中,若是源代码里面没有.classpath也一并拷贝过去. 3.此时eclipse就能打开你的源代码项目了. 4.打开eclipse,点击File,点击Import,进入导入项目界面. 5.在打开的导入项目界面,找到General,双击Existing Projects into

理解C++中的头文件和源文件的作用【转】

一.C++编译模式通常,在一个C++程序中,只包含两类文件--.cpp文件和.h文件.其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码:而.h文件则被称作C++头文件,里面放的也是C++的源代码.C+ +语言支持"分别编译"(separatecompilation).也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里..cpp文件里的东西都是相对独立的,在编译(compile)时不需要与其他文件互通,只需要在编译成目标文件后再与其他的目标文件做