资源描述
按一下以編輯母片標題樣式,按一下以編輯母片文字樣式,第二層,第三層,第四層,第五層,*,第十章,Win31,環境下常用的介面,早在多年前,Windows 95,作業系統推出就已經進入,Win32,的世界了,但是在,Windows 3.1,的環境下還是有許多很好用的介面,雖然看似陽春,可是功能卻也是很完整方便的。在這一章,我們要介紹的就是這些元件。這些元件看起來或許醜了一點,但是在執行效率以及功能上,可是一點也不含糊喔。,大綱,10-1,檔案列表盒(,FileListBox,),10-2,目錄列表盒(,DirectoryListBox,),10-3,磁碟列表盒(,DriveComboBox,),10-4,檔案類型過濾盒(,FilterComboBox,),10-5,TabbedNotebook,元件,本章習題,前言,早期在,Win31,系統就支援了很多到現在都還是很重要的圖形介面,其中對於磁碟和磁碟內目錄以及檔案的管理,即使到了現在,就功能而言還是一樣的便利。為了不讓程式設計者在建構這些介面時得花費很多精神在取得磁碟,目錄,檔案的資訊,以及表現成,GUI,的格式,,Borland C+Builder,也提供了一系列的,Win31,介面的元件,其中對於磁碟檔案的處理可以說是提供的很完善。,10-1,檔案列表盒(,FileListBox,),檔案列表盒中,對於設計者而言,最便利的地方就是可以提供一個簡單的方法就可以取得,FileName,。這對於存取檔案而言,是個簡單又快速的方式。使用者可以利用這個簡單的介面就可以指定程式所要進行動作的檔案和路徑。在列表盒中顯示了所有同一個目錄的檔案名稱。我們可以用滑鼠去點選,被點選的檔案將會被反白,此時檔案列表盒裡面的,FileName,屬性就會變成被點選的那個檔案了。,FileName,就是”,c:AUTOEXEC.BAT”,檔案列表盒的主要屬性,屬性,(Properties),型態原型,說明,FileEdit,TEdit,連結選擇的檔案,提供修改介面,FileType,TFileType,檔案的屬性,(,如唯讀,隱藏等,),Font,Font,檔案顯示的字型,Mask,AnsiString,檔案格式的過濾設定,Height,Int,顯示方塊的長度,Width,Int,顯示方塊的寬度,FileName,AnsiString,選擇的檔案路徑和檔名,Directory,AnsiString,目前列表的目錄路徑,也就是列表何所要顯示的目錄位置。,Drive,Char,目前,FileListBox,所要運作的磁碟機代號,10-2,目錄列表盒,(,DirectoryListBox,),目錄列表盒是可以顯示某磁碟機下所有的目錄結構的列表盒,但是其主要功能並不是在顯示目錄結構,而是提供一個方式讓我們取得目錄路徑以提供給成是作為目錄資訊,最常用來配合的就是,FileListBox,了,我們可以利用,DirectoryListBox,所選定的路徑餵給,FileListBox,作為目錄的路徑。,目錄列表盒的主要屬性,屬性,(Properties),型態原型,說明,Drive,Char,所屬目錄磁碟機,Directory,AnsiString,目前選定的目錄,Font,Font,目錄顯示的字型,FileList,TFileListBox,設定與此相連結的,FileListBox,元件,Height,Int,顯示方塊的長度,Width,Int,顯示方塊的寬度,目錄列表盒使用說明,FileList,屬性即可以設定與此元件關聯的,FileListBox,元件,當使用者選擇不同的目錄時,這個元件的,Directory,屬性會自動傳給所關聯的,FileListBox,元件,讓,FileListBox,可以動態的就改變其所要顯示的檔案。我們可以看一下以下這段程式碼的寫法,:,DirectoryListBox1-,FileList,=FileListBox1;,們把,DirectoryListBox1,裡的,FileList,屬性指定成,FileListBox,元件,如此一來當,DirectoryListBox1,裡的,Directory,屬性被使用者指定更改時,,FileListBox1,的,Directory,屬性也會跟著同步更改。,10-3,磁碟列表盒(,DriveComboBox,),磁碟列表盒是用來列出電腦內所有可以工作的磁碟機,用,ComboBox,的方式顯示。由於是用,ComboBox,的方式顯示,因此磁碟列表盒元件最常用來作為磁碟機選擇介面的方式,這也是一般,Windows,作業系統環境下軟體最常用的處理方式。,磁碟列表盒,DriveComboBox,元件重要屬性列表,屬性,(Properties),型態原型,說明,Drive,Char,目前所選擇的磁碟機,DirList,TDirectoryListBox,對應於目錄列表盒型態,Font,Font,磁碟顯示的字型,Text,AnsiString,磁碟機代號以及磁碟機標籤,Height,Int,顯示方塊的長度,Width,Int,顯示方塊的寬度,磁碟列表盒使用說明,磁碟列表盒可以說是這一系列元件中在繼承結構裡層級最高的,列表盒中可以顯示磁碟機代號和磁碟機標籤,可以從,Text,屬性裡取得。列表盒中被選定的磁碟機會被存在,Drive,屬性裡,我們可以利用這個屬性將資訊傳給,DirectoryComboBox,元件,當然我們也可以利用上一節所介紹的方式直接將,DirList,屬性指定給所需要的,DirectoryListBox,元件。如,:,DriveComboBox1-,DirList,=DirectoryListBox1;,在,DriveComboBox1-,DirList,裡有目前被選定的磁碟機資訊,我們直接將這個屬性指配給,DirectoryListBox1,,如此一來,DirectoryListBox1,所顯示的目錄就可以跟我們對於,DriveListBox,所作的更動同步了。,10-4,檔案類型過濾盒,(,FilterComboBox,),我們知道在,FileListBox,裡有個,Mask,屬性可以讓我們設定顯示檔案的過濾方式,通常這個動作都是應用程式在做開啟檔案時會使用的,為的就是不要讓其他不相關的檔案也一併顯示出來。但是如果要動態的改變這個屬性,用手動輸入的方式是相當不人性化的,這時我們可以利用專門設計來處理這個屬性的元件,FilterComboBox,,其實我們常用的,Windows,軟體也都是用這個方式,相信讀者應該不陌生。,檔案類型過濾盒,FilterComboBox,元件重要屬性列表,屬性,(Properties),型態原型,說明,FileList,TFileListBox,連結,FileListBox,元件,過濾顯示檔案,Filter,AnsiString,設定列表盒出現的選項,Font,Font,列表盒顯示的字型,Mask,AnsiString,傳回所選到的,Fiter,資訊,Height,Int,顯示方塊的長度,Width,Int,顯示方塊的寬度,Text,AnsiString,列表盒所被選到的選項內容,檔案類型過濾盒使用說明,I,最重要的兩個屬性就是,Filter,和,Mask,,前者就是程式設計師所設定的過濾檔案選項,後者則是使用者從這些選項裡選擇的選項。,同樣的,可以用指定的方式將檔案類型過濾列表盒的資料直接送給檔案列表盒,如,:,FilterComboBox1-,FileList,=FileListBox1;,當,FilterComboBox1,的選項被選定後,,FileListBox1,所顯示的檔案類型就會依照選項的設定去做過濾了。至於最重要的設定,Filter,決定了列表盒下拉選單的內容,檔案類型過濾盒使用說明,II,FilterName,為列表盒下拉時的顯示文字,,Filter,為過濾的檔案設定,若設定為多檔案格式則使用分號分開,我們從上頁圖裡面可以看到,在,Filter,那一欄,有很多地方都是使用萬用字元,(*),,這代表任意字串的意思。所以說*,.*,表示的就是所有的檔名和副檔名,也就是任何檔案的意思;而*,.txt,就是副檔名為,txt,的任何檔案。被選定的,Filter,選項會被存入,Mask,屬性裡。,元件綜合範例,I,我們由之前所介紹的幾個元件,就可以建立一個完整的檔案瀏覽介面了,右圖範例就是結合這四個元件為主的一個範例視窗,元件綜合範例,II,其中最主要的動作,就是設定這些元件的關聯性,也就是我們必須要在一開始時就指定好某先元件的屬性,如此這先元件的動作就會互相影響,如下程式碼就是在,FormCreate,方法裡加入的,由於,FileListBox,是這些元件裡最下層的,所以只需要被指定即可,FilterComboBox1-,FileList,=DirectoryListBox1-,FileList,;,DirectoryListBox1-,FileList,=FileListBox1;,DriveComboBox1-,DirList,=DirectoryListBox1;,10-5,TabbedNotebook,元件,在視窗作業系統中,大致上有兩種多頁框標籤,一種是在,Windows3.1,下的,TabbedNotebook,元件,另一種是從,Windows95,以後開始提供的新操作介面,PageControl,。本節是要介紹,TabbedNotebook,元件,TabbedNotebook,使用說明,TabbedNotebook,在開發程式時,是非常便利的,我們只需要建立好一個,TabbedNotebook,元件到視窗的某個位置,並且把之後的元件拖曳到其可,本章習題,請仿照,Windows,檔案總管的功能,完成一個基本功能具備的檔案管理程式。,設計一個小型的備忘錄程式。,
展开阅读全文