国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C++ Builder 初學問與答(十二)

2019-11-17 05:04:39
字體:
來源:轉載
供稿:網友
  13.對話框組件  96)問:怎樣編寫文件打開、保存等對話框?
  答:C++Builder為我們提供了許多常用的對話框組件,這些對話框組件都放在組件模板的Dialogs選項卡中,例如Font,Color,Open和PRint對話框。其中OpenDialog對話框組件最具有代表性,只要把握了它的用法,那么你也就會使用其他的對話框組件了。  97)問:對話框組件的特性有哪些特性呢?  答:對話框組件是一種不可見組件。當你把它放在窗體上時,它是一個大小不變的圖形按鈕,當程序運行時,對話框組件不會馬上顯示,而必須使用每個對話框都有的Execute方法,使對話框顯示出來。  C++Builder提供的對話框大多數是有模式對話框。這種對話框要求首先必須響應該對話框,然后才能繼續進行工作。所謂響應對話框就是你必須單擊OK或者Cancel按鈕,使對話框返回一個值。當用戶單擊對話框上的按鈕OK時,返回True,單擊Cancel按鈕返回False。用戶可以根據返回值的不同進行不同的處理。  非模式的對話框使你在響應對話框之前可以完成其他的工作,不必非要首先響應對話框。這類對話框有:FindDialog,ReplaceDialog等。  98)問:能更細點的說明對話框組件的用法嗎?  答:我們就編制一個文本閱讀器來說明如何使用文件打開對話框。  打開一個新的窗體,我們放上一個按鈕組件和一個Memo組件,將Memo的ScrollBars屬性設置為ssBoth,使得Memo能夠顯示垂直和水平的滾動條。  選中Lines屬性,刪除里面的文本。  在窗體上放置OpenDialog組件。  選中OpenDialog組件,可以看出,OpenDialog有這樣一些主要的特性  FilrerIndex屬性用來指定每次打開對話框所用的缺省過濾器。  DefaultExt屬性是一個擴展名,當用戶在文件編輯框中輸入的文件名沒有帶擴展名時,對話框會用它作為文件缺省的擴展名。  InitialDir屬性用來設置對話框打開時顯示的目錄。  FileName屬性用來返回最近一次選中的文件的完整路徑名。  Filter屬性,這個屬性用來設計在對話框的文件列表中將列出哪些類型的文件。  OpenDialog對話框提供了一個專門的編輯器來編輯屬性filter,單擊屬性Filter的value列中的省略好按鈕就可以打開這個編輯器。  左邊用來輸入過濾器的名稱,右邊用來輸入文件擴展名。 更多文章 更多內容請看C/C++技術專題專題,或
  現在,我們輸入文本文件和C++文件的過濾器。這樣,在每次打開對話框時候,在文件類型下拉列表中將顯示過濾器的名稱。  雙擊文打開按鈕,輸入這樣一段代碼:
  //------------------------------------------  #include <vcl.h>  #pragma hdrstop  #include "Unit1.h"  //------------------------------------------  #pragma package(smart_init)  #pragma resource "*.dfm"  TForm1 *Form1;  //-----------------------------------------  __fastcall TForm1::TForm1(TComponent* Owner)  : TForm(Owner)  {  }  //-------------------------------------------------  void __fastcall TForm1::Button1Click(TObject *Sender)  {  if(OpenDialog1->Execute())//首先執行打開文件對話框函數,這時,打開文件對話框才顯示出來。假如執行成功,這個函數返回true,否則返回false  {  Memo1->Lines->Clear();//把Memo中的內容清掉
  Caption=OpenDialog1->FileName; //獲得用戶選擇的文件的路徑名,并將它設置成窗體的標題。注重,因為是在Form1窗口(容器)中進行的操作,所以Caption前省了Form1,當然你可以加上Memo1->Lines->LoadFromFile(OpenDialog1->FileName);// 調用文本裝入函數從文件中裝入文本,并顯示在編輯框中。  更多文章 更多內容請看C/C++技術專題專題,或


  }  }  //--------------------------------------------------   99)問:其它對話框的各有什么重要屬性?  答:保存對話框SaveDialog與打開對話框非常相似,至于OpenPictureDialog、SavePictureDialog就不用多說了。其它象字體對話框FontDialog的Font屬性;顏色對話框ColorDialog的Color屬性;查找對話框FindDialog的FindText。這里就不用多說了,看一下就明白了。  100)問:對話框組難道就只能用上面說的那些組件嗎?要是有,能介紹一下嗎?  答:在C++ Builder集成開發環境的可視化組件中庫中,給應用程序開發員提供了一系列的標準的對話框函數。我們可以直接調用這些函數來顯示一些標準的對話框。  這類函數還真不少,但我們只要把握以下五個就足夠了J  extern PACKAGE int _fastcall MessageDlg(const AnsiString Msg,TmsgDlgType DlgType,TmsgDlgButtons Buttons,int HelpCtx):用來在計算機屏幕中心顯示對話框。  其中,參數Msg是指定要對話框中顯示的字符串。  參數DlgType是TMsgDlgType類的變量,它用來指定對話框的顯示特征。TmsgDlgType是一個集合,它可以取以下的值:  mtWarning:對話框中包含黃色的贊嘆符號;  mtError:對話框中包含紅色的贊嘆符號;  mtInformation:對話框中包含藍色的“I”符號;  mtConfirmation:對話框中包含綠色的問號;  mtCustom:對話框中不包含位圖符號,標題名稱為應用程序名稱。  參數Buttons是用來指定對話框中包含的按鈕的類型,它是一個集合,可以是以下若干個元素的組合:  mbYes:對話框含有“Yes”按鈕;  mbNo :對話框含有“No”按鈕;  mbOK:對話框含有“OK”按鈕;  mbCancel :對話框含有“Cancel”按鈕;  mbAbort :對話框含有“Abort”按鈕;  mbRetry :對話框含有“Retry”按鈕; 更多文章 更多內容請看C/C++技術專題專題,或   mbIgnore :對話框含有“Ignore”按鈕;  mbAll :對話框含有“All”按鈕;  mbNoToAll :對話框含有“NoToAll”按鈕;  mbYesToAll :對話框含有“YesToAll”按鈕;  mbHelp :對話框含有“Help”按鈕.
  C++ Builder還專門定義了三個常用的按鈕組合:  mbYesNoCancel:包含了mbYes、mbNo和mbCancel元素;  mbOKCancel:包含了mbOK和mbCancel元素;  mbAbortRetryIgnore:包含了mbAbort、mbRetry和mbIgnore元素。  參數HelpCtx用來指定當用戶選擇幫助時,幫助系統中的上下文編號。這個函數根據用戶選擇的按鈕,將返回相應的值,它有以下返回值:mrNone、mrAbort、mrOK、mrRetry、mrNo、mrCancel、mrIgnore、mrAll。  extern PACKAGE void _fastcall ShowMessage(const AnsiString Msg):這個函數用來顯示一個對話框,這個對話框中包含一個“OK”按鈕。其中對話框中顯示的內容由參數Msg來確定。  extern PACKAGE AnsiString _fastcall InputBox(const AnsiString Acaption, const AnsiString Aprompt, const AnsiString Adefault):這個函數用來在計算機屏幕上顯示一個對話框,這個對話框有一個文本編輯框,可以用來接收用戶輸入的字符串信息。  Acaption:用來指定對話框的標題;  Aprompt:用來指定對話框中顯示的內容;  Adefault:用來指定對話框打開時在編輯框中顯示的內容。  extern PACKAGE bool _fastcall LoginDialog(const AnsiString Acaption, AnsiString &AuserName, AnsiString &AuserName):這個函數用來顯示一個標準的登錄對話框,用來連接一個數據庫服務器,其參數分別為對話框中數據庫的名字、用戶輸入的用戶名和密碼。 更多文章 更多內容請看C/C++技術專題專題,或

  extern PACKAGE bool _fastcall SelectDirectory(const AnsiString Caption,const WideString Root,AnsiString &Directory)或extern PACKAGE bool _fastcall SelectDirectory(AnsiString &Directory,TselectDirOpts Options,int HelpCtx):這個函數用來顯示一個讓用戶輸入目錄名稱的對話框。其中:  第一種語法的參數Caption用來指定對話框的標題;Root用來指定從哪個根目錄開始瀏覽;參數Dircetory用來確定用戶選擇的目錄。這個語法不能改變當前的目錄。  第二種語法的參數Options是一個集合,它可以由以下幾個元素組合而成:  sdAllowCreate:答應用戶輸入一個不存在的目錄名字,但并不創建這個新目錄;  sdPerformCreate:它必須和sdAllowCreate配合使用,當用戶輸入一個不存在的目錄名時,對話框將創建這個目錄;  sdPrompt:它必須和sdAllowCreate配合使用,當用戶輸入一個不存在的目錄名時,將出現消息對話框,詢問用戶是否創建這個新目錄。若用戶選擇是,在包含sdPerformCreate元素時將創建這個新目錄,若沒有包含sdPerformCreate元素,將不創建目錄。  《基礎入門》100問與答到這就結束了,本文所有例程均在XP系統、BCB6下編譯通過。(本系列還未結束,請繼續關注) 更多文章 更多內容請看C/C++技術專題專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清原| 微山县| 磴口县| 九台市| 贺兰县| 洮南市| 堆龙德庆县| 彩票| 贞丰县| 安图县| 昭通市| 黑水县| 墨竹工卡县| 美姑县| 大渡口区| 麻阳| 红原县| 柘荣县| 宝清县| 扎兰屯市| 丰宁| 揭西县| 扶绥县| 栾川县| 基隆市| 会昌县| 车险| 建阳市| 垫江县| 东丽区| 南澳县| 容城县| 汾阳市| 德化县| 铜陵市| 南京市| 黑龙江省| 汾西县| 康乐县| 墨竹工卡县| 六枝特区|