**如下:
private sub command1_click()
dim i as integer, title as string, filenames as string
with commondialog1
.filename = ""
.filter = "all files|*.*" '過濾器指定在對話方塊的檔案列表框中顯示的檔案的型別
.flags = &h200 '允許多重選擇。
.action = 1
i = instrrev(.filename, "\")'
title = left(.filename, i)' 目錄
filenames = mid(.filename, i + 1)' all selectes files
end with
filenames = replace(filenames, chr(32), vbcrlf)
msgbox filenames, vbyesno, title '顯示對話方塊
end sub
說明(摘自msdn):
flags屬性:
cdlofnallowmultiselect&h200
它指定檔名列表框允許多重選擇。 執行時,通過按 shift 鍵以及使用 up arrow 和 down arrow 鍵可選擇多個檔案。作完此操作後,filename屬性就返回乙個包含全部所選檔名的字串。串中各檔名用空格隔開。
cdlofncreateprompt&h2000
當檔案不存在時對話方塊要提示建立檔案。該標誌自動設定cdlofnpathmustexist和cdlofnfilemustexist標誌。
cdlofnexplorer&h80000
它使用類似資源管理器的開啟乙個檔案的對話方塊模板。適用於 windows 95 和 windows nt 4.0。
cdlofnextensiondifferent&h400
它指示返回的副檔名與defaultext屬性指定的副檔名不一致。如果defaultext屬性是null,或者擴充套件相匹配,或者沒有擴充套件時,此標誌不設定。當關閉對話方塊時,可以檢查這個標誌的值。
cdlofnfilemustexist&h1000
它指定只能輸入檔名文字框已經存在的檔名。如果該標誌被設定,則當使用者輸入非法的檔名時,要顯示乙個警告。該標誌自動設定cdlofnpathmustexist標誌。
cdlofnhelpbutton&h10
使對話方塊顯示幫助按鈕。
cdlofnhidereadonly&h4
隱藏唯讀核取方塊。
cdlofnlongnames&h200000
使用長檔名。
cdlofnnochangedir&h8
強制對話方塊將對話方塊開啟時的目錄置成當前目錄。
cdlofnnodereferencelinks&h100000
不要間接引用外殼鏈結(也稱作快捷方式)。預設時,選取外殼鏈結會引起它被外殼間接引用。
cdlofnnolongnames&h40000
無長檔名。
cdlofnnoreadonlyreturn&h8000
它指定返回的檔案不能具有唯讀屬性,也不能在寫保護目錄下面。
cdlofnnovalidate&h100
它指定公共對話方塊允許返回的檔名中含有非法字元。
cdlofnoverwriteprompt&h2
使「另存為」對話方塊當選擇的檔案已經存在時應產生乙個資訊框,使用者必須確認是否覆蓋該檔案。
cdlofnpathmustexist&h800
它指定只能輸入有效路徑。如果設定該標誌,輸入非法路徑時,應顯示乙個警告資訊。
cdlofnreadonly&h1
建立對話方塊時,唯讀核取方塊初始化為選定。該標誌也指示對話方塊關閉時唯讀核取方塊的狀態。
cdlofnshareaware&h4000
它指定忽略共享衝突錯誤。
action 屬性:
0沒有操作。
1顯示「開啟」對話方塊。
2顯示「另存為」對話方塊。
3顯示「顏色」對話方塊。
4顯示「字型」對話方塊。
5顯示「列印」對話方塊。
6執行 winhlp32.exe。
如何讓對話方塊中的控制項隨著對話方塊大小的改變而隨之改變
今天做乙個介面專案的時候,需要讓對話方塊開始時就最大化,但是介面上的控制項,並不會隨著對話方塊的最大化 而變大,需要我們在 中設定,網上找到的方法如下 1.首先為對話方塊類增加成員變數 話框rect,利用新舊兩個rect 的比例,來計算得到各控制項位置,具體 如下 pwnd getdlgitem i...
MFC如何使控制項大小隨著對話方塊大小自動調整
假設對話方塊類為cmydlg類,那麼首先設定乙個變數 crect m rect 用於儲存原對話方塊大小 那麼在對話方塊建立的時候先獲得對話方塊的大小 bool cmydlg oninitdialog 然後再手動新增乙個函式,用以實現具體的變化 void cmydlg changesize uint ...
MFC如何使控制項大小隨著對話方塊大小自動調整
首先明確的是windows有乙個 wm size 訊息響應函式,這個函式在對話方塊大小發生變化的時候呼叫,所以我們可以記錄下原來對話方塊的大小,還有當前對話方塊的大小 這個不用自己算,系統已給出 然後根據控制項做出相應比例的調整。比如原來對話方塊大小為a,現在為 b,原來控制項大小為 c,那麼現在的...