雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

win32使用openfilename瀏覽文件窗口示例

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

代碼如下:

復(fù)制代碼 代碼如下:

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;

其中,有個(gè)地方需要注意一下,要是不使用以下的處理話,會(huì)出現(xiàn)無(wú)法彈出瀏覽窗口界面的問題:

復(fù)制代碼 代碼如下:

WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];

關(guān)于這兩個(gè)變量,最好就需要先分配空間,如果直接定義為數(shù)組的話,就會(huì)導(dǎo)致瀏覽文件的窗口彈不出來(lái)。原因在于,這兩個(gè)變量是局部變量,定義為數(shù)組的話,空間占用太大了,無(wú)法自動(dòng)分配出來(lái),需要專門分配內(nèi)存才行。
上述代碼在debug和release版中都測(cè)試過,可以正常的彈出打開的窗口。

上一篇:GCC 編譯c程序的方法及過程解析

欄    目:C語(yǔ)言

下一篇:c++讀取sqlserver示例分享

本文標(biāo)題:win32使用openfilename瀏覽文件窗口示例

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3794.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有