第十章 進階輸出入元件(一) StringGrid 10-1 核對框(CheckBox)

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

第七章 常用控件 7.1 控件概述 7.2 常用内部控件 本章要求 返回目录 第七章 常用控件 (Common Control)
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
C#程式設計 第二部分 第5-6章 C# 程式設計 - 南華大學資管系.
計算機程式及實習 期末報告 題目:商店結帳系統
第三章 以Borland C++ Builder開發 視窗介面為基之I/O控制技術
第 9 章 表单控件的使用 本章提要:VFP表单控件工具栏上的21个基类控件及表单集,它们的常用属性、方法、事件及主要功能等。为叙述的方便,将VFP的基类控件及表单集按主要功能分为五类: 1.输出类:标签、图像、线条、形状。 2.输入类:文本框、编辑框、微调控件、列表框、组合框。 3.控制类:命令按钮、命令按钮组、复选框、选项按钮组、计时器。
第四章 決策敘述 4-1 if 4-2 if..else 4-3 case 4-4 綜合範例.
Visual Basic 2005學習範本 第5章 選擇結構.
1.了解VB6.0的功能特点 、集成环境。 2.理解面向对象程序设计的几个概念。 3.掌握VB应用程序设计的步骤。
第三章 使用者基本介面設計 課程名稱:程式設計 授課老師:李春雄 博士
14 繪圖與動畫 [我的小畫家][打磚塊遊戲] 14-1 繪圖的基礎 14-2 滑鼠事件與基本繪圖 14-3 在Bitmap物件繪圖
第6章 HTML控件和Web服务器控件 本章讲述的主要内容 6.1 ASP.NET控件概述 6.2 标准服务器端控件 6.3 数据验证控件
5.4 预测中的专家评估法 专家会议法 专家评估法 德尔菲法.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
Visual Basic 6.0之事件 事件(Event)?
新觀念的 VB6 教本 第 3 章表單設計.
程式簡介、VB、物件導向 國立北門高中 林明璋.
進階輸出入元件(一) 本書第三章已介紹Form 、Label 、Edit 及Button 等最基本的輸出入元件, 本章將繼續介紹一些可以提昇輸出入視覺效果的元件, 例如CheckBox 、RadioButton 及RadioGroup 等17 個進階元件, 學習本章將可提昇使用介面的親和性。 核對框(CheckBox)
課程名稱:程式設計 授課老師:________
第九章 常用控制項(ㄧ) 資訊教育研究室 編著 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
Chapter 5 進階伺服器控制項.
第10章 图 形 基 础 10.1 坐标系 10.2 绘图属性 10.3 图形控件 10.4 图形方法 习题十.
基础综合 C++ Builder 显示与输入接口
程式語言 -Visual Basic 變數、常數與資料型態.
页眉 基础综合 C++ Builder 按钮组件
第二十三章 元件的製作 23-1 類別轉為元件 23-2 繼承可視元件 23-3 複合式元件.
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
第1章 Delphi 6快速入门 1.1 Delphi 6概述 1.2 Delphi 6的安装 1.3 Delphi 6的界面描述.
Delphi实用教程 第5章 多窗体和MDI窗体 第5章 多窗体和MDI窗体.
第十一讲 VB常用标准控件(2).
Visual Basic程序设计基础 计算机科学学院.
Leica TCS SP Confocal Spectral Microscope 雷射掃描共軛焦分光光譜顯微鏡 簡易使用流程參考
第十三章 檔案.
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
第10章 視窗應用程式的工具列與功能表.
第五章 Windows窗体界面设计 5.1 鼠标事件与键盘事件 5.2 Windows窗体基本控件 5.3 菜单与工具栏
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第十二章 Win32環境程式設計 這一章節可以說是本書精華之一,Win32程式設計算是比較複雜的部分,但是我們以最簡單的敘述帶領著大家進入Win32程式設計的殿堂,讓你寫出來的程式具有一定的水準以上。若能將本章與下一章的技巧靈活運用,更能讓大家寫出高階的視窗程式。
第8章 Visual Basic开发多媒体应用系统
CHAPTER 18 CSS樣式表的動態效果.
GIS软件开发技术 主讲:蔡忠亮 武汉大学资源与环境科学学院.
SPSS-概述與資料處理 輔大統計資訊系 黃孝雲.
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
高等学校计算机基础教育教材 Visual Basic 6.0 程序设计 上海中医药大学现代教育技术中心 计算机教学部 1.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
第六章 擷取輸入裝置的訊息和事件 鍵盤、滑鼠,是我們最常使用的輸入工具。我們是不是常常希望可以再按下某個按鈕後就可以有哪些功能出現呢?沒錯,這就是這一章節的重點,在第四章,我們提到了有關鍵盤、滑鼠、以及RS-232介面的事件及訊息偵測,讓我們更能掌控電腦週邊的硬體。
基礎程式設計範例 -網頁名片.
MS Windows XP 作業系統使用操作簡介.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第九章 各種對話方塊的建立 視窗介面可以說是最友善的人和電腦間的溝通介面,然而對話方塊就好像是電腦和使用者之間的對話通道。開檔案有開檔案的方式、存檔有存檔的介面、印表機設定、字型選擇、尋找字串、置換字串等等,在Win32的環境中,這類的對話方塊實在是太多了。在這一章我們將帶領大家進入設計對話方塊的世界。
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
菜单、状态栏和工具栏 菜单 状态栏 工具栏 编写代码 创建用户界面 Debug and Deploy 使用 Visual
VB程序设计语言 主讲教师:王 杨.
網路遊戲版 幸福農場168號.
巨集與自訂工具列.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
第 12 章 視窗介面進階.
第 11 章 功能表列與工具列的設計 & 第 10 章 檔案.
第4章 ASP.NET服务器控件.
Visual Basic 程序设计及应用教程 (6.0版)
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
Print方法和函数 2019/5/19.
程式設計 Visual Basic 週次:7 建國技術學院 資管系 饒瑞佶 2003年12月6日.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
第6章 层次原理图设计和多通道技术: 重点内容: 掌握自上而下的层次原理图设计方法 掌握自下而上的层次原理图设计方法
MenuStrip by Szeto CY Visual C# 2008.
Presentation transcript:

第十章 進階輸出入元件(一) 10-10 StringGrid 10-1 核對框(CheckBox) 第十章 進階輸出入元件(一) 10-10 StringGrid 10-11 DriveComboBox、DirectoryListBox、 FileListBox及FilterComboBox 10-12 Timer 10-13 Shape 10-14 BitBtn 10-15 SpeedButton 10-16 Chart 10-17 Animate 10-1 核對框(CheckBox) 10-2 選項鈕(RadioButton) 10-3 選項鈕群(RadioGroup) 10-4 列表盒(ListBox) 10-5 雙併盒(ComboBox) 10-6 捲軸(ScrollBar) 10-7 功能表與快顯功能表 (PopupMenu) 10-8 影像盒(Image) 10-9 對話框

本書第三章已介紹Form、Label、Edit及Button等最基本的輸出入元件,本章將繼續介紹一些可以提昇輸出入視覺效果的元件,例如CheckBox、RadioButton及RadioGroup等17個進階元件,學習本章將可提昇使用介面的親和性。

10-1 核對框(CheckBox) CheckBox 通常用來讓使用者點選某項功能的有無,例如以下範例即可讓使用者點選文字是否表現粗體、斜體或含底線,本物件的重要屬性如下: Checked屬性 記錄選項是否致能。 Caption 屬性 標題。

範例10-1a 示範CheckBox的用法。 程式說明: 1. Checked屬性。 Checked屬性用於記錄CheckBox勾號的有無。 2. 勾號的有無及Checked屬性值的變化均是Delphi協助處理,程式設計者所要處理的是Checked屬性值變化時所需處理的事即可。

10-2 選項鈕(RadioButton) 前面10-1節的CheckBox可以點選多個選項,但有些情況是僅能有一個選項致能,就像收音機的音源選擇,當您選CD時,不管原來的音源為何,均會自動切掉,當您繼續選Tape時,CD也會自動切掉,這就是RadioButton控制項的特性,它具有排它性,一次僅能一個選項成立。本物件的重要屬性如下: Checked屬性 記錄選項是否致能。

範例10-2a 本例示範RadioButton的使用。 程式說明: 1. Checked屬性。 Checked屬性記錄RadioButton選項成立與否,在眾多的RadioButton中,只能有一個為True,當其中一個選項有黑點時,其它選項均會自動清除。 2. rab12.Checked:=true; edi.Font.Size:=12; 於眾多RadioButton中應先預設某一個RadioButton為True,其餘為False。 3. 當RadioButton被按一下時,程式設計者要處理的是此選項所要處理的事即可,至於其它選項的清除則由Delphi代勞。

10-3 選項鈕群(RadioGroup) 於同一表單僅能有一個RadioButton選項為True,若有兩組的RadioButton要在同一表單出現,則應使用本節所要介紹的RadioGroup。 例如範例10-3a在同一表單需使用兩組選項鈕分別設定Edit1的字型大小及邊界樣式,此時即可使用RadioGroup元件。

範例10-3a 示範RadioGroup的使用。

自我練習: 1. 元件盤中Standard標籤的GroupBox及Panel亦有分組的功能,請讀者自行揣摩練習,完成範例10-3a程式的功能。

10-4 列表盒(ListBox) ListBox的主要功能是將使用者需要輸入的文字、數字,預先放在ListBox,方便使用者直接點選,以減少使用者鍵入文字、數字的困擾。於範例10-4a中,筆者以醫師開處方為例,因目前大部分的程式均是醫師需鍵入藥品名稱或代碼,本例則將處方於程式設計階段預先放入ListBox中,待醫師操作時,只要點選藥品名稱與重量即可,完全不用輸入藥品名稱或記憶代碼等工作,於實務的應用中,應將全部藥品分門別類,放於不同的ListBox,以減少使用著目視搜尋藥品的時間。

範例10-4a 試設計三個列表盒於表單:左邊放入藥品名稱、中間放入重量、右邊放入患者所需處方藥品。當使用者依序按一下藥品名稱、重量後,右邊列表盒即輸出藥品及重量;當使用者按一下右邊處方藥品,即應刪除該項指定藥品。

10-5 雙併盒(ComboBox) ComboBox是一種結合ListBox與Edit的輸入控制項,使用者於ComboBox中所點選的項目,可以直接放入Text屬性,因此可以簡化程式的撰寫,但ComboBox一次只能點選一個項目,因此特別適用一次只點選一個項目的場合。其待選項目(Items)亦可使用屬性視窗或撰寫程式設定,其方法同RadioGroup或ListBox,以下範例將用ComboBox讓使用者點選其職業。

範例10-5a 請寫一個程式,可以讓使用者依序輸入姓名、職業及性別,其中職業的輸入方式為事先將所有可能的職業放在ComboBox,讓使用者點選。 元件名稱 物件類別 屬性 屬性值 說   明 Edit1 TEdit Name 輸入姓名 ComboBox1 TComboBox 點選職業 Items RadioGroup1 TRadioGroup 點選性別 Columns 2 設定選項排列的行數 btnIn TButton 執行輸入資料 Caption 輸入 btnClose 結束 StringGrid1 TStringGrid 以二維的表格輸出結果 Colcount 4

10-6 捲軸(ScrollBar) ScrollBar的功能為使用捲軸控制輸出的大小,其使用方式請看範例10-6a,本物件特殊屬性如下: Kind屬性 捲軸的擺設方向,有水平與垂直兩種,其值如下: sbHorizontal(以水平方式呈現捲軸)。 sbVertical(以垂直方式呈現捲軸)。 Position屬性 設定捲軸的值。 Max屬性 捲軸可移動的最大值。 Min屬性 捲軸可移動的最小值。

LargeChange屬性 當使用者用滑鼠按一下捲軸盒至捲軸端點箭頭鈕之間的區域時,可移動捲軸,而此移動的大 小,稱為LargeChange。 SmallChange屬性 當使用者用滑鼠按一下捲軸盒至捲軸兩端的箭頭鈕時,可令捲軸盒移動,而此移動的大小,稱為SmallChange。 ScrollBar的特殊事件如下: OnChange事件 當捲軸值改變時,產生此事件。 OnScroll事件

範例10-6a 示範捲軸的用法。

範例10-6b 示範以3個捲軸分別代表顏色的(R、G、B),並改變Edit1的背景顏色。

10-7 功能表(MainMenu)與 快顯功能表(PopupMenu) 所有Windows的應用程式均有功能表選單,提供功能選單(例如File、Edit及Help)及功能選項(如File選單的New、Open及Save等選項),Delphi的MainMenu即是協助使用者製作此功能表的物件。 以下範例即是示範功能表的使用。

範例10-7a 請以MainMenu重作範例10-3a的字型大小及邊界樣式設定。

快顯功能表(PopupMenu) 當使用者按一下滑鼠右鍵時所出現的功能表,稱為快顯功能表(Popup- Menu)。其製作與編輯方式均同MainMenu,唯一要注意的是PopupMenu製作完成之後,要將啟動此PopupMenu物件的PopupMenu屬性點選為PopupMenu,請看以下範例說明。

範例10-7b 製作快顯功能表。

10-8 影像盒(Image) Image元件可用來展示Bitbmps(*.bmp)、Icons(*.ico)、Enhanced Metafiles(*.emf)、Metafiles(*.wmf)及JPEG(*.jpg或*.jpeg)等影像,若配合Canvas等繪圖方法,還可發展出一套類似小畫家的應用軟體。Image的常用屬性如下: Picture屬性 顯示圖片的檔名。 Stretch屬性 是否將影像的大小與元件大小同步。預設值為False,如下圖左, 原影像若比元件還大,則超出的部分不予顯示;若設為True,則是自動調整影像大小而填滿整個元件,如下圖右,此種方式可藉由調整元件的大小(Width與Height)來放大或縮小影像。 AutoSize屬性 是否將元件的大小配合影像的大小,預設值為False,也就是當影像超出控制項大小時,將有部份影像不顯示,如下圖左;若設為True,則是自動調整元件大小以配合影像的尺寸,如下圖右。(請留意表單已出現捲軸)

範例10-8a 示範Image影像盒。

範例10-8b 影像的移動與縮放。 物件說明: 物件名稱 物件類別 屬性 值 說 明 Image1 TImage btnBig 說    明 Image1 TImage Name Stretch true btnBig TBitBtn 放大鍵 Caption 放大 btnUp 上移鍵 Picture arrow1u btnDown 下移鍵 arrow1d btnLeft 左移鍵 arrow1l btnRight 右移鍵 arrow1r btnSmall 縮小鍵 縮小

10-9 對話框 Delphi的對話框元件, 共有OponDialog(取檔)、SaveDialog(存檔)、OpenPictureDialog(取影像檔)、 SavePictureDialog(存影像檔)、 FontDialog(字型)、ColorDialog(顏色)、PrintDialog(印表)、PrintSetup Dialog (印表機設定)、FindDialog(尋找文字)、 ReplaceDialog(尋找文字)等。

OpenDialog與OpenPictureDialog OpenDialog與OpenPictureDialog都是取檔對話框,其中OpenDialog、OpenPictureDialog,兩者都可取任何類型檔案,但是後者多了影像預覽功能,以及已預設Filter屬性為影像檔案,可專門用來取得影像類別的檔案。

SaveDialog與SavePictureDialog SaveDialog與SavePictureDialog都是用來存檔的對話框,但是後者的Filter屬性已預設為影像檔案,但SaveDialog與OpenDialog的Filter都是空白,須由程式設計者自行設計。

FileName屬性 Filter屬性 FilterIndex屬性 DefaultExt屬性 Options屬性 Execute( )方法 關於以上四種檔案對話框的常用屬性說明如下: FileName屬性 所欲存取檔案的名稱。其次,若欲得到檔案的進一步資訊,可使用以下函式協助 ExtractFileName( ):取出之檔名。 ExtractFileExt( ):取出副檔名。 ExtractFilePath( ):取出完整路徑。 ExtractFileDir( ):取出所在目錄。 ExtractFileDrive( ):取出所在磁碟機。 Filter屬性 檔案過濾屬性,可指定所要存取的檔案類型,上圖是OpenPictureDialog 的預設屬性,共預設六種檔案類型。 FilterIndex屬性 傳回使用者使用檔案過濾屬性的索引編號。 DefaultExt屬性 設定檔案對話框的預設副檔名。 Options屬性 雜項設定。 Execute( )方法 開啟所有對話框所使用的方法,其語法如下: 物件.Execute() 若對話框順利執行,則上式傳回True,因此在實務的應用上應在上式加一個if敘述,若if條件成立時才執行存取檔動作,如此可避免使用者沒有正確回應對話框的內容,但卻執行存檔,而造成當機。

範例10-9a 同範例10-8a,但使用檔案對話框存取影像檔案。 程式說明: 1. 取檔時,FileName屬性可得檔案的全名。 “使用者所輸入的主檔名” + “使用者所點選的檔案類型” 其中使用者所輸入的主檔名可由FileName屬性傳回, 而使用者所點選的檔案類型可由FilterIndex屬性傳回, 所以本例使用字串陣列a,作一個副檔名對照表, 完整的檔名如下: FileName+a〔FilterIndex〕;

FontDialog FontDialog,是一個字型設定對話框,其常用屬性如下: Font屬性 記錄字型的字集(Charset)、字型名稱(Name)、字型樣式(Style)、大小(Size)、顏色(Color)等,以上存取的方式為Font.Charset、Font.Name等。 Device屬性 設定選取螢幕字型(fdScreen)、印表機字型(fdPrinter)或是兩者皆要(fdBoth)。 Options屬性 雜項設定。 以下程式可以將RichEdit元件內所選定的文字(使用者拖曳元件內的部份文字使之反白,稱為選定)重設字型。 //字型設定 procedure TForm1.btnFontClick(Sender: TObject); begin FontDialog1.Execute; RichEdit1.SelAttributes.Charset:=FontDialog1.Font.Charset; RichEdit1.SelAttributes.Name:=FontDialog1.Font.Name; RichEdit1.SelAttributes.Style:=FontDialog1.Font.Style; RichEdit1.SelAttributes.Size:=FontDialog1.Font.Size; RichEdit1.SelAttributes.Color:=FontDialog1.Font.Color; //SelAttributes 使用者所選定的範圍 end;

ColorDialog ColorDialog,可以用來設定物件的顏色,其常用屬性為Color。 以下程式可以設定RichEdit元件的背景。 //背景顏色設定 procedure TForm1.btnColorClick(Sender: TObject); begin if ColorDialog1.Execute then RichEdit1.Color:=ColorDialog1.Color; end;

PrintDialog PrintDialog,可以提供印表的參數設定,PrintDialog與PrintSetup Dialog都是直接呼叫Windows系統的PrintDialog與PrintSetupDialog對話框,所以不用再傳遞任何參數,即可執行使用者於對話框的任何設定。 以下程式可以啟動PrintDialog,若使用者有按一下“確定”,則可將RichEdit的內容交由印表機列印,RichEdit的列印方法如下: 物件.Print(常數字串) //列印 procedure TForm1.btnPrintClick(Sender: TObject); begin if (PrintDialog1.Execute) then RichEdit1.Print(Form1.Caption); end;

FindDialog與ReplaceDialog FindDialog與ReplaceDialog會出現尋找與取代對話框,FindDialog對話框,ReplaceDialog,其常用屬性如下: FindText屬性 欲尋找的文字。 ReplaceText屬性 欲取代的文字。

FindDialog與ReplaceDialog與前面的對話框有些不同,其使用步驟如下: 1. 先用Execute( ) 啟動對話框,待使用者輸入字串。 2. 若使用者按一下對話框的“找下一個”,則系統啟動Find事件。 3. 若使用者按一下對話框的“取代”或“全部取代”,則系統啟動Replace事件。

範例10-9b 對話框的使用。

10-10 StringGrid StringGrid元件可以將資料以二維的表格方式呈現,其常用屬性下: ColCount屬性 行數。 RowCount屬性 列數。 FixedCols屬性 當捲軸捲動時,不被移動的行數 FixedRows屬性 當捲軸捲動時,不被移動的列數 Cells[n][m]屬性 第n行m列所欲填入的資料,其行列(n,m)座標如下: 以下範例示範將一個二維陣列填入StringGrid。 (0,0) (1,0) (2,0) (3,0) (0,1) (1,1) (2,1) (3,1) (0,2) (1,2) (2,2) (3,2)

範例10-10a 設有一個二維陣列初值如下,請將其填入StringGrid。 程式說明: 1. cells[j][i]:=a[i][j] 二維陣列的行列(n,m)關係如下,與StringGrid的行列關係不同,所以i,j的位置要對調。 座號 國文 英文 數學 平均 名次 不及格科數 1 50 60 70 2 30 40 3 80 90 (0,0) (0,1) (0,2) (0,3) (1,0) (1,1) (1,2) (1,3) (2,0) (2,1) (2,2) (2,3)

10-11 DriveComboBox、DirectoryListBox、 FileListBox及FilterComboBox DriveComboBox(位於Win3.1標籤頁)稱為磁碟機雙併盒,它可以將使用者的所有磁碟機列出供使用者點選,其常用屬性如下: Drive屬性 使用者所點選的磁碟機編號。 DirList屬性 欲關聯的目錄列表盒。

DirectoryListBox DirectryListBox(位於Win3.1標籤頁)稱為目錄列表盒,它可以將指定磁碟機的所有目錄列出,其常用屬性如下: FileList屬性 欲關聯的檔案列表盒。 DirLabel屬性 欲關聯的Label控制項,該控制項可顯示使用者所點選的目錄全名。

FileListBox FileListBox稱為檔案列表盒,它可以將指定目錄的所有檔案列出,以下是FileListBox的常見屬性。 Mask屬性 指定只印出的副檔名稱類型,預設值為*.*。 MultiSelect屬性 是否同意檔案可複選,預設值為False。 FileEdit屬性 設定欲關聯的Edit元件,該元件可顯示使用者所點選的檔名。

FileType屬性 設定可顯示的檔案型態,其子選項有以下7個。 ftReadOnly: 唯讀檔案,預設值為False。 ftHidden: 隱藏檔案,預設值為False。 ftSystem: 系統檔案,預設值為False 。 ftDirectory: 子目錄檔案,預設值為False。 ftArchive: 可備份檔案,預設值為False。 ftNormal: 正常檔案,預設值為True。 使用DriveComboBox、DirectoryListBox及FileListBox等三個元件,並配合DirList、FileList、DirLabel、FileEdit及Mask等屬性,即可作出類似檔案總管的功能,請於物件檢視視窗完成以下設定 DriveComboBox1.DirList:=DirectoryList1 DirectoryListBox1.FileList:=FileListBox1 DirectoryListBox1.DirLabel:=Label1 FileListBox1.FileEdit:=Edit1 FileListBox1.Mask:=*.bmp

範例10-11a FileComboBox、DirectoryListBox及FileListBox示範。 物件說明: 以上屬性設定如下: 元件名稱 屬性 值 DriveComboBox1 DirList DirectoryListBox1 FileList FileListBox1 DirLebel Label1 FileEdit Edit1 Mask *.bmp Image1 Stretch True

FilterComboBox FilterComboBox元件的主要功能,是將前面的FileListBox加上檔案過濾效果,其常用屬性如下: 欲關聯的檔案列表盒。 Filter屬性 檔案過濾參數。 雖然FileListBox的Mask屬性亦可過濾檔案,但是FilterComboBox的使用較為靈活,請看以下範例。

範例10-11b 以FilterComboBox重作以上範例。

10-12 Timer Timer可用來執行某些週期性的工作,例如文字的閃爍、動畫的製作、或時鐘的顯示等。因為以上工作的特性,都是固定某一個週期,即要重複執行某一事件函式。其常用屬性如下: Interval屬性 設定Timer事件執行的週期,單位為千分之一秒 Timer的常用事件如下: Timer事件 每隔Interval的週期,均會自動執行此事件。

範例10-12a 示範Timer元件。

範例10-12b 請設計一個紅綠燈,其時序如下(T=500ms): 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 綠燈   綠閃    黃燈    紅燈

10-13 Shape Shape元件可由Shape屬性表現各種不同的形狀,以下範例將示範其各種形狀,其常用屬性如下: Shape屬性 形狀,其常數共7個如下: stCircle:圓形。 stEllipse:橢圓。 stRectangle:矩形。 stRoundRect:圓角矩形。 stRowndSquare:圓角正方形。 stSquare:正方形。 Pen屬性 雜項設定,有以下子屬性。 Color:顏色。 Mode:重疊模式。 Style:線條樣式。 Width:線條寬度。

範例10-13a 示範Shape元件的各種形狀及顏色。

10-14 BitBtn BitBtn是一個功能與Button相近的元件,但比Button多一個屬性Glyph,此屬性可於控制項上放置圖項。 筆者點選“gwosheng.bmp”。其次,若不自己輸入圖項,亦可使用Kind屬性預設的12個現成圖項,筆者點選bkAll。

10-15 SpeedButton SpeedButton亦是與Button功能相近的元件,比較特殊的是多了一個GroupIndex屬性,此GroupIndex屬性預設值為0,表示各個按鈕獨立操作,程式設計者若將多個SpeedButton的GroupIndex的值設為相同,則他們與RadioButton(選項鈕)功能相近,具有同組互斥的功能。

範例10-15a 以SpeedButton重作10-2a的字型大小設定

10-16 Chart Chart是一個統計圖元件,它可以協助使用者迅速完成Line、Bar、Horiz.Bar、Area、Point、Pie、Fast Line、Shape、Gantt、Arrow及Bubble等圖形。 以下範例將示範如何繪製Bar Chart及以股價走勢圖繪製Fast Line Chart。

範例10-16a 設有員工業績如下,請繪製Bar Chart。 程式說明: 1. Series加入資料的語法如下: Series1.Add(數量,標題,顏色); 2. 讀者亦可事先將數量與標題放在陣列, 再用迴圈載入。 姓名 張三 李四 王五 陳六 業績 8 6 5 16

範例10-16b 同上範例,但繪製以下業績的統計圖。 姓名 張三 李四 王五 陳六 月 一月 8 6 5 16 二月 3 2 19 三月 7

範例10-16c 繪製股價走勢圖。

範例10-16d 同上範例,但同時繪製2支股價走勢圖。

10-17 Animate Animate元件的功能為播放一個動畫檔(*.avi),其常用屬性為Active,Active設為True則開始播放,False則停止播放,FileName屬性則為欲播放的檔名。此外,CommonAVI屬性亦已內定8種動畫檔,例如CopyFile、CopyFiles、DeleteFile、EmptyRecycle、FindComputer、FindFile、FindFolder 及Recycle File等8個動畫,程式設計者可於CommonAVI屬性點選以上動畫。

範例10-17a 示範Animate的動畫播放。 程式說明: 1. FrameCount屬性 傳回動畫檔的總畫格數。 2. Play(x, y, z)方法 設定欲播放的起始畫格、結束畫格與播放次數,其中x為起始畫格,y為結束畫格,z為播放次數。

習題 1. 請實際參觀保齡球館的計分方式,寫一程式完成以下功能。 (1) 可單人單球道擊球,並逐一顯示此人的分數。 1. 請實際參觀保齡球館的計分方式,寫一程式完成以下功能。 (1) 可單人單球道擊球,並逐一顯示此人的分數。 (2) 可2至3人單球道擊球,並逐一顯示此2-3人的分數。 2. 請參考電視“非常男女”的節目,設計一個程式,可以讓男女生各10人互選,功能要求如下: (1) 可於螢幕同時顯示配對成功者的男女生編號。 (2) 可個別逐一將配對成功者的男女生個人資料及照片於同表單顯示。 (3) 可逐一將每人的愛慕者於表單顯示。例如女生1號有3位男生投給她,編號分別為3、4及8號,則可將此3人的編號和姓名顯示在1號女生的旁邊。