程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> win32應用openfilename閱讀文件窗口示例

win32應用openfilename閱讀文件窗口示例

編輯:關於C++

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版中都測試過,可以正常的彈出翻開的窗口。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved