GetOpenFileName的使用????不懂请给个例子 OPENFILENAME结构不知道怎样用?能够给代码,我的MSDN上的那个好象不能用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OPENFILENAME ofn = {0}; // older version ofn.lStructSize = sizeof(OPENFILENAME); //É趨ÎļþµÄÃû³Æ´¢´æ¿Õ¼ä TCHAR lpstrFilename[MAX_PATH] = {0}; if ( ! strFile.IsEmpty () ) { _tcscpy ( lpstrFilename, strFile ); } //É趨¸¸´°¿Ú ofn.hwndOwner = m_hWnd; ///É趨´ò¿ªÎļþµÄÀàÐÍ ofn.lpstrFilter = "È«²¿Îļþ\0*.*\0"; ofn.nMaxFile = MAX_PATH; ofn.lpstrFile=lpstrFilename; ofn.lpstrTitle = strTitle; if ( ! ::GetOpenFileName(&ofn) ) { return false; } GetOpenFileName函数的功能是创建一个“打开”对话框,让用户可以指定驱动器、目录以及一个或多个要打开的文件名。它的原型如下:BOOL GetOpenFileName( LPOPENFILENAME lpofn // initialization data);其中参数lpofn是一个指向OPENFILENAME结构的指针,其中包含着初始化“打开”对话框时需要的信息,该函数返回时此结构体内包含了用户的选定信息。您可以参看下面的使用代码:OPENFILENAME ofn; // common dialog box structurechar szFile[260]; // buffer for file nameHWND hwnd; // owner windowHANDLE hf; // file handle// Initialize OPENFILENAMEZeroMemory(&ofn, sizeof(OPENFILENAME));ofn.lStructSize = sizeof(OPENFILENAME);ofn.hwndOwner = hwnd;ofn.lpstrFile = szFile;ofn.nMaxFile = sizeof(szFile);ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";ofn.nFilterIndex = 1;ofn.lpstrFileTitle = NULL;ofn.nMaxFileTitle = 0;ofn.lpstrInitialDir = NULL;ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;// Display the Open dialog box. if (GetOpenFileName(&ofn)==TRUE) hf = CreateFile(ofn.lpstrFile, GENERIC_READ, 0, (LPSECURITY_ATTRIBUTES) NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL);如果需要进一步的信息,可以参看:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/CommCtls/winui/commdlg_3cbp.asp 请教一个2个NotificationEvent和用户层交互的问题~~~ 急!那位牛人帮忙解决一下,十分感谢。CSocket中OnRecetive的问题。 已知一个SysTreeView32类的句柄,怎么对它操作:有几个节点,节点的名字 谁能把matlab中的m文件改成c或c++代码啊?高分! 网络监控系统的实现 新手求救!hello world! 大家来看看这个问题 关于VC++的OLE自动化技术 怎样用cximage动态地合成部分名称相同的图片 DirectShow播放器问题 Button的SetWindowText引起的闪烁问题 请教CString 转换问题
ofn.lStructSize = sizeof(OPENFILENAME);
//É趨ÎļþµÄÃû³Æ´¢´æ¿Õ¼ä
TCHAR lpstrFilename[MAX_PATH] = {0};
if ( ! strFile.IsEmpty () )
{
_tcscpy ( lpstrFilename, strFile );
}
//É趨¸¸´°¿Ú
ofn.hwndOwner = m_hWnd;
///É趨´ò¿ªÎļþµÄÀàÐÍ
ofn.lpstrFilter = "È«²¿Îļþ\0*.*\0";
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFile=lpstrFilename;
ofn.lpstrTitle = strTitle;
if ( ! ::GetOpenFileName(&ofn) )
{
return false;
}
BOOL GetOpenFileName(
LPOPENFILENAME lpofn // initialization data
);其中参数lpofn是一个指向OPENFILENAME结构的指针,其中包含着初始化“打开”对话框时需要的信息,该函数返回时此结构体内包含了用户的选定信息。您可以参看下面的使用代码:OPENFILENAME ofn; // common dialog box structure
char szFile[260]; // buffer for file name
HWND hwnd; // owner window
HANDLE hf; // file handle// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;// Display the Open dialog box. if (GetOpenFileName(&ofn)==TRUE)
hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
0, (LPSECURITY_ATTRIBUTES) NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
(HANDLE) NULL);如果需要进一步的信息,可以参看:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/CommCtls/winui/commdlg_3cbp.asp