|
|
我用 Windows API 进行编程, 遇到了一个奇怪的问题:
请问打开文件通用对话框返回的文件名放在哪个指针??
为什么我选择文件并确定之后 OPENFILENAME 结构里的所有指针仍然都是 NULL,请大家帮看看我的代码:
(代码省略若干...............)
switch (message)
{
case WM_CREATE:
ofn.lStructSize =sizeof(OPENFILENAME);
ofn.hwndOwner =hWnd;
ofn.hInstance =hInst;
ofn.lpstrFilter ="Text File(*.TXT)\0*.txt\0All Files(*.*)\0*.*";
ofn.lpstrCustomFilter =NULL;
ofn.nMaxCustFilter =0;
ofn.lpstrFile = NULL; //资料上说返回的文件名保存在这里!!!!!
ofn.nMaxFile =0;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle =NULL;
ofn.lpstrInitialDir =NULL;
ofn.lpstrTitle =NULL;
ofn.Flags =0;
ofn.nFileOffset =0;
ofn.nFileExtension =0;
ofn.lpstrDefExt =NULL;
ofn.lCustData =0;
ofn.lpfnHook =NULL;
ofn.lpTemplateName =NULL;
break;
case WM_KEYDOWN: //按下按键的时候打开通用对话框
if(GetOpenFileName(&ofn))
MessageBox(NULL, TEXT( "You get a file"),TEXT(""),0);
else
MessageBox(NULL, TEXT(" No file "),TEXT(""),0);
MessageBox(NULL, TEXT(ofn.lpstrFile),TEXT(""),0); //为什么 ofn.lpstrFile 总是 NULL 呢?
break;
-------------------------图片中为“打开文件对话框”: |
-
|