開啟檔案對話方塊GetOpenFileName Win32, PPC, Smartphone上的異同

來源:互聯網
上載者:User

前些日子看到有人問這個如何在Mobile上開啟開啟檔案對話方塊,在c#裡面我們知道有個OpenFileDialog, 那是相當的方便,如果要在WinCE的native API下面做也是可以的,這裡就用到了GetOpenFileName的介面(GetSaveFileName一樣的參數就不說了)。具體的用法看看這裡的實現:

 

OPENFILENAME ofn; // common dialog box structure<br />TCHAR szFile[260]; // buffer for file name<br />ZeroMemory(szFile, sizeof(szFile));<br />// Initialize OPENFILENAME<br />ZeroMemory(&ofn, sizeof(OPENFILENAME));<br />ofn.lStructSize = sizeof(OPENFILENAME);<br />ofn.hwndOwner = hWnd;<br />ofn.hInstance = g_hInst;<br />ofn.lpstrFile = szFile;<br />ofn.nMaxFile = sizeof(szFile);<br />ofn.lpstrFilter = TEXT("BMP/0*.bmp/0") ;<br />ofn.nFilterIndex = 1;<br />ofn.lpstrFileTitle = NULL;<br />ofn.nMaxFileTitle = 0;<br />ofn.lpstrInitialDir = NULL;<br />ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;<br />// Display the Open dialog box.<br />if (GetOpenFileName(&ofn)==TRUE)<br />{<br />}

這裡的代碼開啟的檔案夾在很多應用裡面都看到過,是這樣的:

 

想在Smartphone上也實驗一下這個介面卻發麵不工作,不管如何設定參數, 那個GetOpenFileName總是返回false。後來才找到了另一個可用的介面GetOpenFileNameEx才運作起來:

 

TCHAR szFile[MAX_PATH];<br />OPENFILENAMEEX ofnex = {0};<br />ofnex.lStructSize = sizeof(ofnex);<br />ofnex.hwndOwner = hWnd;<br />ofnex.lpstrFile = szFile;<br />ofnex.nMaxFile = sizeof(szFile)/sizeof(szFile[0]);<br />ofnex.lpstrFilter = TEXT("All Files (*.*)/0*.*/0");<br />ofnex.lpstrInitialDir = _T("//Program Files");<br />ofnex.ExFlags = OFN_EXFLAG_THUMBNAILVIEW | OFN_EXFLAG_HIDEDRMPROTECTED;<br />return GetOpenFileNameEx(&ofnex);<br />

效果也是差不多的 呵呵。

權且放在這裡,謹防以後忘記, 呵呵

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.