C++采用openfilename打开文件对话框用法实例_C 语言

本文实例讲述了C++采用openfilename打开文件对话框用法,分享给大家供大家参考。具体方法如下:

这里需要注意,有的时候会因为没设置nMaxFile,而一直不出现对话框。

具体功能代码如下:

复制代码 代码如下:

char szFileName[MAX_PATH]={0}; 
OPENFILENAME openFileName = {0}; 
openFileName.lStructSize = sizeof(OPENFILENAME); 
openFileName.nMaxFile = MAX_PATH;  //这个必须设置,不设置的话不会出现打开文件对话框 
openFileName.lpstrFilter = "文本文件(*.txt)\0*.txt\0所有文件(*.*)\0*.*\0\0"; 
openFileName.lpstrFile = szFileName; 
openFileName.nFilterIndex = 1; 
openFileName.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; 
 
if (::GetOpenFileName(&openFileName)) 

    ::MessageBoxA(hwndDlg, openFileName.lpstrFile, "", MB_OK); 
}

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

时间: 2024-10-31 08:57:01

C++采用openfilename打开文件对话框用法实例_C 语言的相关文章

C++采用TLS线程局部存储的用法实例_C 语言

本文实例讲述了C++采用TLS线程局部存储的用法.分享给大家供大家参考. 具体方法如下: 复制代码 代码如下: // useTLS.cpp : 定义控制台应用程序的入口点.  //    #include "stdafx.h"  #include <Windows.h>  #include <process.h>    //声明  VOID InitStartTime();  DWORD GetUserTime();    //TLS索引,作全局变量   DWO

C语言采用文本方式和二进制方式打开文件的区别分析_C 语言

稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制)打开这个文件,用什么函数读写这个文件(读写函数),怎么判断读到这个文件结尾等. 具体分析如下: 一.以哪种方式打开一个文件: ANSI C规定了标准输入输出函数库,用 fopen()函数打开文件.fopen()函数的调用方式一般为: FILE *fp; fp=fopen(文件名,使用文件方式):

VC++进度条process Bar的用法实例_C 语言

本文实例讲述了VC进度条的用法实例,分享给大家供大家参考.具体实现代码如下: 复制代码 代码如下: #include <Windows.h>  #include "resource.h"  #include <Commctrl.h>  //对话框函数  INT_PTR CALLBACK DialogProc(      __in  HWND hwndDlg,      __in  UINT uMsg,      __in  WPARAM wParam,     

c语言打开文件函数使用方法_C 语言

ANSI C规定文件打开用函数fopen,关闭为fclose. 1.调用方式通常为: 复制代码 代码如下: FILE *fp;fp=fopen(文件名, 打开方式); 2.参数说明: 文件名: 形如"myfile.dat"."F:\data\myfile.dat"等等; 打开方式:"r"(只读) 为输入打开一个文本文件"w"(只写) 为输出打开一个文本文件"a"(追加) 向文件文件尾添加数据"rb

vc中SendMessage自定义消息函数用法实例_C 语言

本文实例讲述了vc中SendMessage自定义消息函数用法,分享给大家供大家参考.具体如下: SendMessage的基本结构如下: 复制代码 代码如下: SendMessage(     HWND hWnd,  //消息传递的目标窗口或线程的句柄.     UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,)     WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的,   //在vc编译器中右键有个"转到WPARA

C++队列用法实例_C 语言

本文实例讲述了C++队列用法.分享给大家供大家参考.具体如下: /* 队列使用时必须包含头文件 #include <queue> 有以下几种方法 入队push(),出队pop(), 读取队首元素front(),读取队尾元素back() , 判断队是否有元素empty() 求队列元素个数size() */ #include <iostream> #include <queue> using namespace std; int main() { queue<int&

C++中DeviceIoCteatol的用法实例_C 语言

本文是一篇译文,主要以实例形式讲述了C++中DeviceIoCteatol的用法.分享给大家供大家参考.具体方法如下: 应用程序代码如下: 复制代码 代码如下: DWORD dwBytesReturned = 0;      BYTE bytBuffer_1[512];      BYTE bytBuffer_2[512];      CHAR string[2048];      HANDLE hDevice, hDriver;      BOOL bRet;  bRet = DeviceIo

C++模板类的用法实例_C 语言

本文实例讲述了C++中模板类的用法,分享给大家供大家参考.具体方法如下: //#include "StdAfx.h #ifndef __AFXTLS_H__ #define __AFXTLS_H__ #include <Windows.h> class CSimpleList { public: CSimpleList(int nNextOffset=0); void Construct(int nNextOffset); //接口 BOOL IsEmpty() const; voi

C++中Semaphore内核对象用法实例_C 语言

本文实例讲述了C++中Semaphore内核对象的用法,分享给大家供大家参考.具体方法如下: 复制代码 代码如下: // Semaphore.cpp : 定义控制台应用程序的入口点.  //    #include "stdafx.h"  #include <Windows.h>  #include <process.h>     HANDLE g_hSemaphore;  DWORD g_nConut1 = 0;  DWORD g_nConut2 = 0;