win32應用openfilename閱讀文件窗口示例。本站提示廣大學習愛好者:(win32應用openfilename閱讀文件窗口示例)文章只能為提供參考,不一定能成為您想要的結果。以下是win32應用openfilename閱讀文件窗口示例正文
代碼以下:
OPENFILENAME ofn;
WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];
memset(&ofn, 0, sizeof(ofn));
memset(szFile, 0, sizeof(WCHAR)*512);
memset(szFileTitle, 0, sizeof(WCHAR)*512);
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = yMain->m_hWnd;
ofn.hInstance = yMain->m_hInst;
ofn.lpstrFilter = L"All File\0*.*\0";
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(WCHAR)*512;
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof(WCHAR)*512;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_EXPLORER;
// 按下肯定按鈕
BOOL ok = GetOpenFileName(&ofn);
if( ok ){
MessageBox(hWnd, L"23", L"44", MB_OK);
}
delete []szFile;
delete []szFileTitle;
個中,有個處所須要留意一下,如果不應用以下的處置話,會湧現沒法彈出閱讀窗口界面的成績:
WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];
關於這兩個變量,最好就須要先分派空間,假如直接界說為數組的話,就會招致閱讀文件的窗口彈不出來。緣由在於,這兩個變量是部分變量,界說為數組的話,空間占用太年夜了,沒法主動分派出來,須要專門分派內存才行。
上述代碼在debug和release版中都測試過,可以正常的彈出翻開的窗口。