青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

公共對話框——OPENFILENAME結構

來源:http://bupt.org/blog/blog.php?do-showone-tid-178.html

今天在網(wǎng)上搜這個的時候, 看到有人遇到某錯誤問了半天也沒人理. 其實memset初始化一下就可以了.

--------相關資料--------------------

OPENFILENAME

OPENFILENAME結構包含了GetOpenFileNameGetSaveFileName函數(shù)用來初始化打開或另存為對話框的信息。在用戶關閉對話框后,系統(tǒng)返回關于用戶的選擇信息到這個結構中。

typedef struct tagOFN {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
#if (_WIN32_WINNT >= 0x0500)
void * pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
#endif // (_WIN32_WINNT >= 0x0500)
} OPENFILENAME, *LPOPENFILENAME;

成員

lStructSize
指定這個結構的大小,以字節(jié)為單位。

Windows 95/98和Windows NT 4.0:特意為Windows 95/98或Windows NT 4.0,及帶有WINVER和_WIN32_WINNT >= 0x0500編譯時,為這個成員使用OPENFILENAME_SIZE_VERSION_400。

Windows 2000及更高版本這個參數(shù)使用sizeof (OPENFILENAME) 。

hwndOwner
指向所有者對話框窗口的句柄。這個成員可以是任意有效窗口句柄,或如果對話框沒有所有者它可以為NULL。
hInstance
如果在Flags成員中設置了OFN_ENABLETEMPLATEHANDLE標記,hInstance成員指向包含一個對話框模板的內(nèi)存對象。如果OFN_ENABLETEMPLATE標記被設置,hInstance是一個指向通過lpTemplateName成員命名的對話框模板的模塊。如果兩者都沒有被設置,這個成員被忽略。

如果OFN_EXPLORER標記被設置,系統(tǒng)使用Explorer風格的默認對話框的子窗口作為指定模板來建立一個對話框。如果OFN_EXPLORER標記沒有被設置,系統(tǒng)使用模板建立一個舊風格的對話框。

lpstrFilter
指向一對以空字符結束的過濾字符串的一個緩沖。緩沖中的最后一個字符串必須以兩個NULL字符結束。

第 一個字符串是過濾器描述的顯示字符串(例如,“文本文件”),第二個字符指定過濾樣式(例如,“*.TXT”)。要為一個顯示字符串指定多個過濾樣式,使 用分號(“;”)分隔樣式(例如,“*.TXT;*.DOC;*.BAK”)。一個樣式字符串中可以包含有效的文件名字字符及星號(*)通配符。不能在樣 式字符串中包含空格。

系統(tǒng)不能改變過濾器的次序。它按lpstrFilter指定的次序顯示在文件類型組合框中。

如果lpstrFilter是NULL,對話框不能顯示任何過濾器。

lpstrCustomFilter
指 向一個靜態(tài)緩沖,它包含了一對以空字符結束的過濾器字符串,這個字符串是為了保留用戶選擇的過濾樣式。第一個字符串是描述定制過濾器的顯示字符串,第二個 字符串是被用戶選擇的過濾器樣式。第一次你的應用程序建立對話框,你指定的第一個字符串可以是任何非空的字符串。當用戶選擇了一個文件時,對話框復制當前 過濾樣式到第二個字符串。保留過濾樣式可以是在lpstrFilter緩沖中指定的樣式之一,或是用戶輸入的過濾器樣式。在下一次對話框被建立時系統(tǒng)使用這個字符串去初始化用戶自定義的文件過濾器。如果nFilterIndex成員是0,對話框使用定制過濾器。

如果這個成員是NULL,對話框不能保留用戶自定義過濾器樣式。

如果這個成員不是NULL,nMaxCustFilter成員的值必須指定以TCHARs為單位的lpstrCustomFilter緩沖的大小。對于ANSI版本,是字節(jié)的個數(shù);對于Unicode版本,是字符的個數(shù)。

nMaxCustFilter
指定特意為lpstrCustomFilter準備的以TCHARs為單位的緩沖大小。對于ANSI版本,是字節(jié)的個數(shù);對于Unicode版本,是字符的個數(shù)。這緩沖應該最小在40個字符長。如果lpstrCustomFilter成員是NULL或是指向NULL的字符串,這個成員被忽略。
nFilterIndex
指定在文件類型控件中當前選擇的過濾器的索引。緩沖指向被lpstrFilter包含的一對定義了的過濾器的字符串。過濾器的第一對字符串的索引值為1,第二對為2,等等。0索引指出是通過lpstrCustomFilter指定的定制過濾器。你可以為對話框指定一個索引作為最初的過濾器描述及過濾器樣式。當用戶選擇了一個文件時,nFilterIndex返回當前顯示的過濾器的索引。

如果nFilterIndex是0及lpstrCustomFilter是NULL,系統(tǒng)使用在lpstrFilter緩沖中的第一個過濾器。如果所有的三個成員都是0或NULL,系統(tǒng)不使用任何過濾器,在對話框的列表文件中不顯示任何文件。

lpstrFile
指向包含初始化文件名編輯控件使用的文件名的緩沖。如果不需要初始值,這個緩沖的第一個字符必須是NULL。當GetOpenFileNameGetSaveFileName函數(shù)返回成功時,這個緩沖包含驅動器,路徑,文件名,及所選擇的文件的擴展名。

如 果OFN_ALLOWMULTISELECT標記被設置并且用戶選擇了多個文件,緩沖包含了當前目錄下被選擇文件的文件名。對于Explorer風格對話 框,目錄和文件名字符串是被NULL分開的,在文件名之后有一個額外的NULL。對于舊風格對話框,字符串是被空格分開的并且函數(shù)為帶有空格的文件名使用 短文件名。你可以使用FindFirstFile函數(shù)在長短文件名之間轉換。如果用戶只選擇了一個文件,lpstrFile字符串在路徑和文件名之間沒有分隔。

如果緩沖太小,函數(shù)返回FALSE并且CommDlgExtendedError函數(shù)返回FNERR_BUFFERTOOSMALL.。既然這樣,lpstrFile緩沖的首先兩個字節(jié)包含必需的大小(字節(jié)或字符)。

nMaxFile
指定lpstrFile緩沖的大小,以TCHARs為單位。對于ANSI版本,是字節(jié)的個數(shù);對于Unicode版本,是字符的個數(shù)。這個緩沖必須足夠存儲路徑和文件名字符串,包含結尾的null字符。如果緩沖太小,GetOpenFileNameGetSaveFileName函數(shù)返回假(FALSE)緩沖最小應該在256個字符長。
lpstrFileTitle
指向接收選擇的文件的文件名和擴展名的緩沖(不帶路徑信息)。這個成員可以是NULL。
nMaxFileTitle
指定lpstrFileTitle緩沖的大小,以TCHARs為單位。對于ANSI版本,是字節(jié)的個數(shù);對于Unicode版本,是字節(jié)的個數(shù)。如果lpstrFileTitle是NULL,這個成員被忽略。
lpstrInitialDir
指 向以空字符結束的字符串,可以在這個字符串中指定初始目錄。Pointer to a null terminated string that can specify the initial directory. 在不同的平臺上,為選擇初始目錄有不同的運算法則。

Windows 2000:

  1. 如果lpstrFile包含了一個路徑,這個路徑就是初始目錄。
  2. 否則,lpstrInitialDir指定的為初始目錄。
  3. 如果lpstrInitialDir為NULL,并且當前目錄下包含有一些指定過濾器類型的文件,初始目錄就是當前目錄。
  4. 否則,如果應用程序在過去使用過打開哐另存為對話框,使用最近選擇的路徑作為初始目錄。然而,如果一個應用程序長時間沒有運行過,它保存的選擇的路徑將被丟棄。
  5. 否則,初始目錄是當前用戶的私人文件目錄(即我的文檔)。
  6. 否則,初始目錄是桌面文件夾。

Windows 98:

  1. lpstrInitialDir指定初始目錄。
  2. 如果lpstrInitialDir是NULL并且lpstrFile包含了一個路徑,那么這個路徑就是初始目錄。
  3. 否則,如果當前目錄包含了一些指定的過濾類型的文件,那么初始化目錄是當前目錄。
  4. 否則,初始目錄是當前用戶的私人文件目錄(即我的文檔)。

Windows和Windows NT/ 2000的早期版本:

  1. lpstrInitialDir指定初始目錄。
  2. 如果lpstrInitialDir是NULL并且lpstrFile包含了一個路徑,那么這個路徑就是初始目錄。
  3. 否則,初始目錄是當前目錄。
lpstrTitle
指向在對話框的標題欄中放置的字符串。如果這個成員是NULL,系統(tǒng)使用默認標題(另存為或打開)
Flags
位標記的設置,你可以使用來初始化對話框。當對話框返回時,它設置的這些標記指出用戶的輸入。這個成員可以是下列標記的組合。
標記 含意
OFN_ALLOWMULTISELECT 指定文件名列表框允許多選。如果同時你設置了OFN_EXPLORER標記,對話框使用Explorer風格用戶界面;否則它使用舊風格用戶界面。

如果用戶選擇了一個以上的文件,lpstrFile緩沖返回當前目錄下所有被選擇的文件的文件名。nFileOffset成員是到第一個文件名的偏移量(字節(jié)或字符),并且nFileExtension成 員不被使用。對于Explorer風格對話框,目錄和文件名是被NULL分隔的,在最后的文件名后帶有額外的NULL。這個格式使Explorer風格的 對話框能返回包含空格的長文件名。對于舊風格對話框,目錄和文件字符串是被空格分隔的,函數(shù)為帶有空格的文件名使用短文件名。你可以使用FindFirstFile函數(shù)在短文件名和長文件名之間轉換。

如果你為一個舊風格對話框指定了一個定制的模板,文件名列表框的定義必須包含LBS_EXTENDEDSEL值。

OFN_CREATEPROMPT 如 果用戶指定了一個不存在的文件,這個標記使用對話框能提示用戶是否新建這個文件。如果用戶選擇了新建這個文件,對話框關閉并且函數(shù)返回指定的名字;否則, 對話框繼續(xù)停留。如果你使用帶有OFN_ALLOWMULTISELECT標記的這個標記,對話框允許用戶去指定一個不存在的文件。
OFN_DONTADDTORECENT Windows 2000:防止系統(tǒng)為選擇的文件增加快捷鏈接到最近使用文檔中。要找回目錄的位置,調用還有CSIDL_RECENT標記的SHGetSpecialFolderLocation函數(shù)。
OFN_ENABLEHOOK 激活在lpfnHook成員中指定的鉤子函數(shù)。
OFN_ENABLEINCLUDENOTIFY Windows 2000:當用戶打開一個文件夾時,引起對話框發(fā)送CDN_INCLUDEITEM通知消息到你的OFNHookProc程序。對話框為在最近打開的文件夾中的每一個項目發(fā)送一個通知。這些消息使你能夠控制那些在對話框中顯示的文件夾項目的列表。
OFN_ENABLESIZING Windows 2000,Windows 98:使Explorer風格的對話框可以使用鼠標或鍵盤調整大小。缺省時,Explorer風格的打開和另存為對話框允許被調整大小,不顧這個標記是否被設置。這標記僅在你提供了一個鉤子程序或定制模板時是必需的。舊風格的對話框不允許調整大小。
OFN_ENABLETEMPLATE 指出lpTemplateName成員是指向對話框模板資源的名字,這個模板資源在能被hInstance成員識別的模塊中。

如果OFN_EXPLORER標記被設置,系統(tǒng)使用指定的模板去建立一個對話框,是默認Explorer風格對話框的子窗口。如果OFN_EXPLORER標記沒有被設置,系統(tǒng)使用舊風格的對話框替代默認的對話框。

OFN_ENABLETEMPLATEHANDLE 指出hInstance成員能識別的包含預載對話框模板的數(shù)據(jù)塊。如果這個標記被指定的,系統(tǒng)忽略lpTemplateName

如果OFN_EXPLORER標記被設置,系統(tǒng)使用指定的模板去建立一個對話框,是默認Explorer風格對話框的子窗口。如果OFN_EXPLORER標記沒有被設置,系統(tǒng)使用模板去建立一個舊風格對話框替代默認對話框。

OFN_EXPLORER 指出任何打開或另存為對話框使用新的Explorer風格的用戶化模塊。關于更多的信息,參見Explorer-Style Hook ProceduresExplorer-Style Custom Templates

缺省下,打開和另存為對話框使用Explorer風格用戶界面,不顧這個標記是否設置。這個標記僅在你提供了一個鉤子程序或定制模板或設置了OFN_ALLOWMULTISELECT標記時是必需的。

如果你想使用舊風格的界面,省略OFN_EXPLORER 標記,并且提供一個代替的舊風格模板或鉤子程序。如果你想用舊風格但不需要一個定制模板或鉤子程序,簡單的提供一個鉤子程序,讓它返回FALSE。

OFN_EXTENSIONDIFFERENT 指定用戶輸入的一個文件的擴展名與lpstrDefExt指定的擴展名不同。如果lpstrDefExt是NULL,函數(shù)不使用這個標記。
OFN_FILEMUSTEXIST 指定用戶僅可以在文件名登錄字段中輸入已存在的文件的名字。如果這個標記被指定的并且用戶輸入了一個無效的名字,對話框程序顯示一個等待消息框。如果這個標記被指定,OFN_PATHMUSTEXIST標記也被使用。
OFN_FORCESHOWHIDDEN Windows 2000:強制顯示系統(tǒng)和隱藏屬性的文件,從而壓倒用戶設置的顯示或不顯示隱藏文件。否則,帶有系統(tǒng)和隱藏標記的文件不被顯示。
OFN_HIDEREADONLY 隱藏只讀復選框。
OFN_LONGNAMES 對于舊風格對話框,這個標記引起對話框使用長文件名。如果這個標記沒有被指定,或如果OFN_ALLOWMULTISELECT標記也被設置,舊風格對話框為帶有空格的文件名使用短文件名(8.3格式)。

Explorer風格對話框忽略這個標記,通常顯示長文件名。

OFN_NOCHANGEDIR 如果當搜索文件時用戶改變了目錄的時候,恢復當前目錄到它的初始值。
OFN_NODEREFERENCELINKS 引導對話框為選擇的快捷方式(.LNK)文件返回路徑和文件名。如果這個值沒有被指定,對話框返回這個快捷方式所引用文件的路徑和文件名。
OFN_NOLONGNAMES 對于舊風格對話框,這個標識引起對話框去使用短文件名(8.3格式)。

Explorer風格對話框忽略這個標記,通常顯示長文件名。

OFN_NONETWORKBUTTON 隱藏和顯示風格按鈕。
OFN_NOREADONLYRETURN 指定返回的文件不帶有只讀復選框,不是在寫保護的目錄中。
OFN_NOTESTFILECREATE 指 定文件不是在對話框關閉前建立的。如果應用程序保存文件到一個建立的非映象風格共享上,這個標記應該被指定的。當一個應用程序指定了這標記,庫不能檢查寫 保護,磁盤滿,打開驅動器門或網(wǎng)絡保護。應用程序使用這個標記必須小心執(zhí)行文件操作,因為一旦文件被關閉,它不能重新打開。
OFN_NOVALIDATE 指定公共對話框允許在返回的文件名中有無效的字符。典型的,正在調用的程序使用一個鉤子程序通過FILEOKSTRING消息檢查文件名。如果在編輯控件中的文本框是空的或只包含了空格,那么文件和目錄列表框是被更新的。如果編輯控件中的文本框包含了別的東西,那么nFileOffset和nFileExtension的設置值是通過分析文本產(chǎn)生的。沒有默認的擴展名被添加到文本,也沒有文本被復制到lpstrFileTitle指定的緩沖。

如果通過nFileOffset指定的值比0小,文件是無效的。否則,文件名是有效的。如果OFN_NOVALIDATE沒有被指定,nFileExtensionnFileOffset可以被使用。

OFN_OVERWRITEPROMPT 如果選擇的文件已經(jīng)存在,使用另存為對話框產(chǎn)生一個消息框。用戶必須確認是否復蓋這個文件。
OFN_PATHMUSTEXIST< />


posted on 2007-07-29 17:06 楊粼波 閱讀(835) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品播放| 久久夜精品va视频免费观看| 国产精品久久久亚洲一区 | 国产一区清纯| 久久婷婷av| 久久午夜电影网| 亚洲精品久久嫩草网站秘色| 91久久一区二区| 欧美视频手机在线| 欧美一区二区三区喷汁尤物| 久久精品国产第一区二区三区最新章节 | 欧美另类高清视频在线| 正在播放亚洲| 亚洲一区免费看| 伊人激情综合| 亚洲精品免费一区二区三区| 国产精品多人| 免费视频一区二区三区在线观看| 欧美福利影院| 欧美在线综合视频| 欧美高清在线观看| 欧美影院成年免费版| 久久中文字幕导航| 亚洲欧美日韩精品久久亚洲区| 久久精品国产一区二区电影| 99亚洲伊人久久精品影院红桃| 亚洲一区二区综合| 亚洲黄色片网站| 亚洲欧美日韩成人高清在线一区| 亚洲高清123| 亚洲综合社区| 亚洲精品国久久99热| 校园激情久久| 亚洲午夜激情在线| 久久阴道视频| 欧美中文字幕在线观看| 欧美激情久久久久| 久久香蕉精品| 国产精自产拍久久久久久| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美永久精品| 欧美日韩一二区| 亚洲第一福利社区| 韩日精品中文字幕| 亚洲欧美在线视频观看| 一区二区三区四区国产| 免费成人黄色片| 另类综合日韩欧美亚洲| 国产乱码精品一区二区三| 日韩视频一区二区三区| 亚洲美女免费精品视频在线观看| 久久久久久午夜| 久久久久久久久蜜桃| 国产精品亚洲人在线观看| 亚洲欧洲一区二区在线观看| 久久久亚洲一区| 亚洲激情第一页| 欧美一区二区网站| 午夜视频在线观看一区二区三区| 欧美一区二区三区的| 亚洲欧美一区二区精品久久久| 另类天堂av| 欧美大香线蕉线伊人久久国产精品| 国产精品麻豆成人av电影艾秋| 99精品久久久| 一区二区日本视频| 欧美另类视频在线| 亚洲精品中文字幕有码专区| 日韩网站在线观看| 欧美精品福利视频| 亚洲免费观看| 欧美一区二区日韩| 国产欧美在线播放| 久久www成人_看片免费不卡| 久久男人资源视频| 亚洲国产精品一区二区www在线| 久久亚洲欧美| 亚洲激情二区| 亚洲影视在线播放| 国产九九视频一区二区三区| 欧美在线亚洲| 亚洲视屏在线播放| 嫩草影视亚洲| 亚洲精品日韩精品| 亚洲欧美第一页| 国内精品视频在线播放| 久久久久久网| 亚洲精品久久久久| 亚洲伊人一本大道中文字幕| 国产欧美日韩一区二区三区| 久久久福利视频| 亚洲精品日韩在线| 久久福利电影| 亚洲精品三级| 国产人妖伪娘一区91| 玖玖精品视频| 亚洲无线一线二线三线区别av| 久久久www成人免费精品| 亚洲国产精品一区在线观看不卡| 欧美男人的天堂| 欧美亚洲一区二区在线| 亚洲国产欧美一区二区三区久久 | 久久国产精品久久久久久| 国产亚洲综合精品| 欧美久久久久久| 久久99在线观看| 一区二区毛片| 欧美激情国产日韩| 久久岛国电影| 中文久久精品| 亚洲精品久久久久中文字幕欢迎你 | 日韩视频一区二区三区| 国产欧美一区二区色老头| 欧美二区在线播放| 亚洲一区3d动漫同人无遮挡| 欧美大片在线看免费观看| 欧美在线3区| 亚洲午夜一区二区三区| 亚洲福利一区| 一区二区三区在线免费观看| 国产精品久久亚洲7777| 欧美刺激性大交免费视频| 欧美在线啊v| 亚洲欧美综合一区| 一道本一区二区| 亚洲精品欧美精品| 欧美高清视频在线播放| 久久久水蜜桃av免费网站| 欧美一级一区| 亚洲欧美在线免费观看| 亚洲小说欧美另类社区| 99国产精品视频免费观看一公开| 亚洲高清中文字幕| 亚洲国产精品美女| 在线看成人片| 亚洲电影毛片| 亚洲国产精品一区| 亚洲国产高潮在线观看| 亚洲福利视频二区| 在线日韩欧美| 亚洲精品日韩久久| 亚洲精品孕妇| 一本色道久久综合亚洲精品按摩| 亚洲欧洲视频| 夜久久久久久| 亚洲一区三区视频在线观看| 亚洲一区二区三区四区中文| 亚洲男女毛片无遮挡| 性色av香蕉一区二区| 久久国产免费| 久久久综合精品| 欧美成人亚洲成人日韩成人| 欧美黄色日本| 99精品视频免费观看| 在线视频欧美日韩| 西瓜成人精品人成网站| 久久国产毛片| 欧美激情一区二区三区不卡| 欧美日韩精品三区| 国产精品夜色7777狼人| 精品不卡在线| 99国内精品久久| 午夜精品一区二区三区四区| 久久精品国产综合精品| 久久综合久久美利坚合众国| 欧美激情区在线播放| 亚洲人成人一区二区在线观看| 一区二区三区视频在线播放| 欧美影院在线| 欧美日韩国产成人在线91| 国产精品你懂的在线| 亚洲第一精品在线| 亚洲视频视频在线| 久久久久久久久久久久久女国产乱| 欧美成在线观看| 在线午夜精品自拍| 老巨人导航500精品| 国产精品久久二区| 在线视频国产日韩| 亚洲欧美日韩一区二区三区在线 | 91久久夜色精品国产九色| 一区二区免费看| 久久伊人精品天天| 中文日韩在线视频| 欧美成人黑人xx视频免费观看| 国产精品久久久久久久浪潮网站 | 亚洲在线免费视频| 欧美国产一区二区在线观看 | 欧美一级午夜免费电影| 欧美成人乱码一区二区三区| 国产伦一区二区三区色一情| 亚洲人成免费| 久久综合成人精品亚洲另类欧美| 日韩视频精品| 免费欧美在线| 精品不卡在线| 久久精品国产99国产精品| 99精品国产热久久91蜜凸| 久久网站免费| 好看的亚洲午夜视频在线|