在使用GetOpenFileName()的时候,OPENFILENAME::lpstrFile将用来作为选取文件的路径的缓冲区,所以应该设置的较大,通常为TCHAR strFile[256];
调用GetOpenFileName的时候如果想要初始化FileName输入框则应该指定strFile的内容,这怎么实现呢?strcmp()后不知道为什么就会出现错误。
明早结贴,现在下班。
调用GetOpenFileName的时候如果想要初始化FileName输入框则应该指定strFile的内容,这怎么实现呢?strcmp()后不知道为什么就会出现错误。
明早结贴,现在下班。
解决方案 »
- 打印结果有问题?换行的问题!
- mfc中进度条闪烁不停??
- 怎么取_variant_t对象里面的内容呀?
- 怎么使用SendMessage的方式调用CListBox中的InsertString函数?谢谢!
- 为什么我release后老是找不到自己的dll?
- 高分请教可执行程序出错的问题!
- CSocket CSocketFile CArchive模型出现数据接收不到的问题?
- 点击CScrollView中的滚动条左移右移按钮,调用的是哪个函数
- VC 2008 OpenGL太阳地球月亮模型运行后无效果
- 哇哇哇哇哇~~~这么高的分!这么简单的问题!快!快抢答啊!INSTALLSHIELD创建桌面快捷方式TARGET设置成什么?为什么我的程序快捷方式一点就打开资源管理器?
- 一个游戏是不是就只有一个主窗口,里面弹的对话框这些都是画出来的
- 两个简单的问题??????
*sname = '\0';//memcpy就可以啊,再在最后加个\0 OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = m_hWnd;
ofn.lpstrFilter = "任意类型\0*.*\0";
ofn.nFilterIndex = 1;
ofn.lpstrFile = sname;
ofn.nMaxFile = 4096;
ofn.lpstrTitle = "选择文件";
ofn.Flags = OFN_CREATEPROMPT|OFN_ENABLESIZING|OFN_HIDEREADONLY;
if(::GetOpenFileName(&ofn))
{
... }
HeapFree(GetProcessHeap(), 0, sname );
char test[9];
memset(test, 0, 9);
strcpy(test, str);
MessageBox(test, MB_OK);