日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VisualFoxPro的CommonDialogs控件

 悟靜 2009-06-12
Common Dialogs 控件

如果你用過 FoxPro GETFILE() 和 PUTFILE() 函數(shù)。你可能對它們多少有些遺憾:

  • 沒有辦法改變對話框的標題。
  • PUTFILE() 函數(shù)總是詢問用戶是否想復(fù)蓋已存在的文件。
  • 使用兩個函數(shù)時。指定的路徑必須存在,否則將顯示一條錯誤信息。

為了得到更大的靈活性。你需要使用隨 VFP 5 同時發(fā)布的 Common Dialogs 控件(在 \WINDOWS\SYSTEM 目錄下的 COMDLG32.OCX 中)。該控件稱為 "Common dialogs" 是因為它可以顯示文件。顏色。字體和打印對話框。所有這些對話框提供了比 VFP 的相同功能更大的靈活性。例如。當(dāng)在 VFP 中使用 GETFONT() 和 GETCOLOR() 函數(shù)時。你控制不了所有的東西,如非 TrueType 字體是否可用或用戶是否可自定義顏色。Common Dialog 中的字體和顏色對話框就有這種功能。

由于時間限制。在本章中我們只集中討論文件對話框。如果你想知道關(guān)于顏色,字體和打印對話框的更多信息。請參閱 ActiveX 控件的幫助文件。注意 Common Dialogs 控件沒有出現(xiàn)在幫助文件的目錄頁中。但可以在選定控件后按下 F1 鍵或在幫助索引中搜索 "Common Dialog" 來找到它們。
方法

Common Dialogs 控件有五個方法,它們都沒有參數(shù):

  • ShowOpen() 顯示打開文件對話框;
  • ShowSave() 顯示保存文件對話框;
  • ShowPrinter() 顯示打印機對話框;
  • ShowFont() 顯示字體對話框;
  • ShowColor() 顯示顏色對話框。

在本章中我們只使用了前兩個方法。
屬性

以下是最常用的 Common Dialogs 控件的文件對話框的屬性 (一些屬性也用于字體,顏色和打印機對話框);其它較少使用的屬性的信息參見它們的幫助文件:

  • CancelError:如果想在用戶選擇取消時生成一個錯誤(錯誤號1429),設(shè)置該屬性為 .T.??梢栽诳丶?Error 方法中溫和地捕捉并處理錯誤。這是必須的,因為在類似的 VFP 函數(shù)返回一個特殊值時(通常是一個空格) 來指明用戶選擇了取消,但這些對話框不會返回值。
  • DefaultExt:如果用戶沒有輸入擴展名,該擴展名自動添加到用戶輸入的文件名后面。
  • DialogTitle:對話框窗口標題。
  • FileName:用于文件名的初值,添加它的內(nèi)容到從對話框返回的用戶輸入值上。如果不允許選擇多個文件,或雖允許但用戶只選擇了一個文件,F(xiàn)ileName 包含了選定文件的完整的路徑和文件名。如果允許選擇多個文件且用戶選擇了一個以上的文件,F(xiàn)ileName 在選定文件列表前,含有以分隔符與選定文件分開的,選定文件的路徑(多個文件之間以分隔符分開,但不帶路徑)。在 Windows 95 和 NT 4 中分隔符是CHR(0),在 Windows NT 3.51 中分隔符是一個空格。例如,如果用戶從 VFP 的示例數(shù)據(jù)目錄中選擇了三個表,F(xiàn)ileName 的內(nèi)容可能是 C:\VFP5\SAMPLES\DATA <分隔符> CUSTOMER.DBF <分隔符> ORDERS.DBF <分隔符> ORDITEMS.DBF"。關(guān)于分解 FileName 為路徑和不同的文件名,請參見 SFFileDialog 類的 SetProperties() 方法(稍后講述)。
  • FileTitle:若不允許選擇多個文件,返回不含路徑的選定文件的名字.否則返回值為空。
  • Filter:可接受文件說明。Filter 有兩個部分:用戶所見到的說明(如,"數(shù)據(jù)庫文件") 和這些文件的擴展名描述(如 "*.DBC")。說明和描述以豎線( | )分開??梢杂枚鄠€豎線分隔的方式提供一個以上的 filter。如,"數(shù)據(jù)庫文件 | *.DBC | 表 | *.DBF | 全部文件 | *.*"。
  • FilterIndex:使用的默認 filter 。第一個 Filter 屬性是 1。
  • Flags:該屬性控制對話框的外觀和行為??墒褂玫闹狄姾蟆?
  • HelpFile:當(dāng)用戶單擊對話框中的幫助按鈕時使用的幫助文件的名字。
  • HelpCommand:該屬性的最常用設(shè)置是(其它設(shè)置參見該控件的幫助文件) 0x1 (使用 HelpContextID),0x101 (使用關(guān)鍵字),或 0x105 (使用部分關(guān)鍵字)。注意:0x 符號,是 VFP 5 的新功能,指明一個十六進制值。
  • HelpContext:當(dāng) HelpCommand 的值設(shè)置為 0x1 時,要顯示的幫助文件中的主題的 HelpContextID。
  • HelpKey:當(dāng) HelpCommand 的值設(shè)置為 0x101 或 0x105 時,要在幫助文件中查找的關(guān)鍵字。
  • InitDir:對話框要顯示的初始目錄。

注意幫助中提到了另外兩個屬性,Path 和 Drive,但它們并不存在。

Flags 屬性的行動與 VFP 的 MESSAGEBOX() 的 DialogBoxType 參數(shù)相似;可以按你的需要添加多個不同的值來組合它的外觀和行為。不幸的是,即使 flag 對于多種類型的對話框具有相同的意思,但它可能有不同的值。

例如,顯示幫助按鈕 flag 對于顏色對話框是 0x8 而對于文件對話框是 0x10。

因為各個對話框的設(shè)置值相當(dāng)神秘,我創(chuàng)建了一個叫做 COMMDLG.H 的包含文件用于定義各個不同的值的常數(shù)。要設(shè)置控件的 Flags 屬性,簡單的添加你想組給的設(shè)置值即可。

例如,要顯示幫助按鈕和復(fù)蓋警告,可以這樣設(shè)置:

This.oCommonDialog.Flags = cnFILEDLG_OVERWRITE cnFILEDLG_SHOWHELP

以下是最常用的 Flags 選擇(其它的參見幫助文件):

  • Allow Multiple File Selection (0x200;cnFILEDLG_MULTIPLE 在 COMMDLG.H 文件中):允許選擇多個文件。如果開啟了這一開關(guān),對話框的出現(xiàn)與一般的 Windows 95 對話框相當(dāng)不同,除非你也添加了 0x80000 (cnFILEDLG_EXPLORER) 到 Flags 中;注意幫助文件中的該值是錯誤的 0x8000

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多