第九章 各種對話方塊的建立 視窗介面可以說是最友善的人和電腦間的溝通介面,然而對話方塊就好像是電腦和使用者之間的對話通道。開檔案有開檔案的方式、存檔有存檔的介面、印表機設定、字型選擇、尋找字串、置換字串等等,在Win32的環境中,這類的對話方塊實在是太多了。在這一章我們將帶領大家進入設計對話方塊的世界。

Slides:



Advertisements
Similar presentations
數學社群 教學分享 和平國小 陳淑渟老師 數學社群 教學分享 和平國小 陳淑渟老師. 小一常發生的 學習困難 定位板的應用 序數的學習 困難與教學 突破 主題大綱.
Advertisements

next 漳州市华侨中学 林女珍 next 以生活为基础提炼而成的程式性动作,和虚拟性 的空 间处理。着重运用讲究唱、做、念、打艺术, 表演动作富于舞蹈性,技术性很高。 戏曲是中国传统的戏剧形式 早在原始社会歌舞已有萌芽,在漫长发展的过程 中,经过八百多年不断地丰富、革新与发展,才 逐渐形成比较完整的戏曲艺术.
健康.安全年 製作 : 黃靜怡. 安全第一,我想,這是一句大家都耳熟能詳的話吧,說安全, 簡單的說,就是注意自己、眼睛要看、耳朵要聽,不要莽莽 撞撞的,安全是大家所期望的,而父母總是常常掛念我們, 就是希望我們能安全,畢竟,孩子是父母一輩子的牽掛,會 擔心我們的,往往就是關心我們的人,每個人都希望自己做.
【大願文教基金會】園藝治療師 黃盛璘督導、王麗玲執行. 年齡在 2 足歲以上 18 歲以下,經醫學中 心或區域醫 院鑑定為 重度、極重度 身心障礙,不具行動能 力、且不能自理生活,並持有身心障礙 手冊的新北市居民。 八里愛心教養院~服務對象.
第二十九课 致儿子书 张之洞.
如何陪伴孩子度過 高三歲月.
把人的生命写在教育的旗帜上 了解一个案件 欣赏一篇散文 学习一种理念 感悟一个故事.
六大原因造成 現代人身體酸性化.
【2008年高考重庆卷】A.当冰雪皑皑之际,唯独梅花昂然绽放于枝头,对生命充满希望和自信,教人精神为之一振。
台史所Endnote書目管理軟體利用指導課程
景区讲解常用方法.
第三章 以Borland C++ Builder開發 視窗介面為基之I/O控制技術
機械工程系.
班級愛心小護士訓練 臺南市東區勝利國小 健康中心.
项目四 营业税 山东经贸职业学院 财政金融系.
敬业·创业·乐业 ——我的成长之路 赵谦翔.
四年七班親師會 自信學習,健康成長.
醫療旅遊.
社會發展學系 簡 介.
人物小传:杨嘉嵋,1975年出生,国家 重点四川大学本科毕业,中国传媒大学博士毕业,现为上海政法学院讲师。多次发表学术论文:《试论社会主义法治的目标和现代法治精神的培育》发表于钦州师范高等专科学校校报2000年04期,《西部在引进,利用外资中应重视的问题及对策》发表于四川师范学院学报2000年05期,《试论毛泽东的刑法思想》发表于达县师范高等专科学校学报2001年01期,《美国著名主持人的十点共性》发表于中国广播电视学刊2007年08期,《我国电视法治节目的现状与提升》发表于新闻战线2008年08期。
第二章 语用的主要要素分析 第一节 语境 第二节 预设 第三节 角色 第四节 视角.
从从容容中考去.
美麗的星空 陳弦希製作.
性別刻板印象.
初三8班(上) 期末总结班会.
初三(上) 期末总结班会.
一週菜單設計.
改革开放给我们带来的变化 系别:11商务流通系 班级:物流四班 组员:物四男生组.
大村國小 尋根之旅.
那年我參加瑞士巴塞爾博覽會, 除了接單做貿易,還零售賣品, 以擴大出口商品的影響。
中國醫藥大學 北港分部簡報.
西安国际港务区 入区企业相关地方税收 知识培训
拒绝毒品健康成长 ——张鸿谊.
动商研究中心 让高校体育驶入快车道 --国家“学校体育”相关文件解读 2016 年 05 月 15 日.
第三章 领悟人生真谛 创造人生价值 第一节 树立正确的人生观 创造有价值的人生 第二节 第三节 科学对待人生环境.
鸟的生殖和发育.
第十四章 中国特色社会主义事业的依靠力量. 第十四章 中国特色社会主义事业的依靠力量 内容提要 包括知识分子在内的工人、农民是中国特色社会主义事业的根本力量;改革开放以来出现的新的社会阶层是中国特色社会主义事业的建设者;必须认真贯彻尊重劳动、尊重知识、尊重知识人才、尊重创造的重大方针,最广泛最充分地调动一切积极因素;巩固和加强各族人民的团结合作。
终极(13)班 赵树杰 许志鹏 初二(13)班.
中国政法大学卫生法研究中心 于秀艳 2011年6月28日 杭州
思想道德修养与法律基础.
第1課 華南地區— 海陸文化的交會區.
多元文化“地球村”—— 世界文化之旅.
新觀念的 VB6 教本 第 3 章表單設計.
CATIA V5 培训教程 工 程 图.
第十章 進階輸出入元件(一) StringGrid 10-1 核對框(CheckBox)
第二十八章 開發新的VCL元件 雖然BCB內提供了很多VCL元件,但是一定還有一些我們常常需要用的介面並沒有製作成VCL元件,或是一些個人化的介面,我們也有需要做成VCL元件。在第十三章,我們將介紹如何自行開發新的VCL元件。
進階輸出入元件(一) 本書第三章已介紹Form 、Label 、Edit 及Button 等最基本的輸出入元件, 本章將繼續介紹一些可以提昇輸出入視覺效果的元件, 例如CheckBox 、RadioButton 及RadioGroup 等17 個進階元件, 學習本章將可提昇使用介面的親和性。 核對框(CheckBox)
專題報告: 沒有國哪裡會有家?.
100道素菜 想看哪一道菜時 直接點一下就可進入 1西蘭花燒豆腐 2蕃茄炒凍豆腐 3東坡豆腐 4.西芹腰果百合 5土豆燉番瓜 6香椿豆腐
就在那裡上主要我去.
基础综合 C++ Builder 显示与输入接口
Visual Basic 程式設計基礎(一)
環境教育宣導 疼愛地球 珍惜資源 愛護環境.
第十三章 檔案.
第十一讲 MFC常用控件的使用(3) 严宣辉 数学与计算机科学学院
Sample Text Sample Text. Sample Text. 并列关系 简要说明 网络EPS素材改编; 文字、颜色可随意更改; 矢量图标可以替换。
校外教學六福村一日遊.
第五章: 輸入與輸出.
契約與規範期末報告 -旅遊定型化契約書 指導老師:李惠圓 班級:四動二A 組別:第一組 組員:4970T010許欣婷 4970T041林姿汶
環境教育宣導 疼愛地球 珍惜資源 愛護環境.
BEEP and Sound 授課:ANT 日期:2014/5/28.
保留字與識別字.
Print方法和函数 2019/5/19.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
附件六 慢飛天使 智能障礙介紹 炫寬愛心教養家園介紹 2019/5/27.
便利商店公仔行銷之研究以7-ELEVEn Open小將為例
2007年六十四个热点话题 写作提示及解说.
太空人是載人航太的核心。選拔和訓練太空人是一個國家可以獨立自主實施載人航太的重要標誌之一。
MessageBoxButtons 按鈕 1 AbortRetryIgnore [中止]、[重試] 和 [忽略]   2 OK [確定] 3
第19章 Visual Basic与Excel 联合编程
Presentation transcript:

第九章 各種對話方塊的建立 視窗介面可以說是最友善的人和電腦間的溝通介面,然而對話方塊就好像是電腦和使用者之間的對話通道。開檔案有開檔案的方式、存檔有存檔的介面、印表機設定、字型選擇、尋找字串、置換字串等等,在Win32的環境中,這類的對話方塊實在是太多了。在這一章我們將帶領大家進入設計對話方塊的世界。

大綱 9-1 Open / Save Dialog 9-2 Open / Save PictureDialog 9-3 FontDialog 9-4 ColorDialog 9-5 PrinterDialog 9-6 PrinterSetupDialog 9-7 FindDialog 9-8 ReplaceDialog 9-9 對話訊息框的使用 本章習題

9-1 Open / Save Dialog 在視窗作業系統中,當使用者需要對某個檔案作開啟或關閉的動作時,通常需要透過檔案處理對話方塊來對檔案作處理,所以所謂的對話方塊,就是應用程式和使用者之間的交談介面;一個設計優良的對話方塊,會讓使用者相當容易上手。下圖是檔案開啟的對話方塊。

Open / Save Dialog實作 上圖的畫面是一般在視窗系統下開啟檔案的對話方塊,我們可以看到中間主畫面是可選取的圖示區,上方是目前目錄名稱以及一些目錄基本功能,下方則是選取檔案名稱和檔案格式。這些功能我們都可以用BCB所提供的OpenDialog元件一手包辦實作,唯一需要我們自己設定的只有檔案格式過濾以及預設的開啟路徑。OpenDialog元件常見的屬性如下: 屬性(Properties) 型態原型 說明 DefaultExt AnsiString 預設檔案延伸檔名 FileName 讀入檔案路徑及名稱 Filter 指定檔案型態過濾方式 Option Set 對話方塊功能的設定 Title 對話方塊標題的設定

Open / Save Dialog實作 當我們建立一個OpenDialog元件時,在該元件的屬性裡有一個Filter項目,這是提供設定檔案格式屬性的過濾方式,設定該屬性可以讓對話方塊在使用時擋掉不需出現的格式的檔案,其欄位功用說明如下:Filter Name欄位填入顯示文字,而Filter欄位填入檔案格式,如果檔案格式超過一個的話就用分號分開,一般在設定Filter時我們會加入一個顯示所有檔案的欄位以提供對話方塊瀏覽時可以看到所有的檔案。 Filter設定視窗

9-2 Open / Save PictureDialog OpenPictureDialog元件提供了圖檔預覽的功能,相當適合影像處理類的軟體;目前提供的預覽格式有JPEG、BMP、ICO檔案等圖形檔案格式。當然,BCB也提供了儲存圖檔的對話盒SavePictureDialog元件來做圖檔儲存。

Open / Save PictureDialog屬性介紹 我們可以由上圖看到和OpenDialog最大不同的地方,就是右邊有個預覽區域,可以顯示目前反白的圖檔內容,這個預覽區只有在被點選的檔案是屬於被支援的圖檔類型才有效。至於其他的部分,外觀和功能都和OpenDialog差不多。OpenPictureDialog元件常見的屬性如下: 屬性(Properties) 型態原型 說明 DefaultExt AnsiString 預設檔案延伸檔名 FileName 讀入檔案路徑及名稱 Filter 指定檔案型態過濾方式 Option Set 對話方塊功能的設定 Title 對話方塊標題的設定

9-3 FontDialog 一個功能齊全的文書編輯軟體,需要提供字型的調整功能。BCB為了方便程式開發者在設計此功能時的效率,提供了FontDialog元件,其更改字型的對話視窗可讓使用者以直覺的方式來更改字型。右圖為字型對話盒。 更改字型設定對話盒

FontDialog 屬性介紹 BCB有很多元件都含有Font屬性,尤其是跟文字編輯相關的元件。但是字型的設定往往都是相當的繁瑣,如改變字體的類別、格式、大小、顏色等等。如果是在程式執行的時候去修正改變,則對使用者而言將會是很痛苦的事情。所以FontDialog就解決了這個問題,BCB中的FontDialog元件的重要屬性列表如下: 屬性(Properties) 型態原型 說明 Device TFontDialogDevice 設定字型來源 Font TFont 使用者選定之字型 MaxFontSize int 字型大小之最大值 MinFontSize 字型大小之最小值 Option Set 對話方塊的功能設定

9-4 ColorDialog 在視窗應用程式中,常常會有編輯軟體可以選擇圖形或文字的顏色,選擇顏色的方式通常是一個色彩對話方塊,如右圖所示。BCB的所提供的色彩對話方塊元件是ColorDialog,我們可以指定所需改變的顏色為對話方塊所選取的顏色作為編輯的動作。ColorDialog最主要的屬性就是Color,當開啟對話方塊後所選擇的顏色將會被設定在Color屬性。 基本更改顏色設定對話盒

ColorDialog設定說明 在上圖我們可以看到上半部是屬於Basic colors的部分,這是系統提供的基本顏色,總共有56種。在一般的選色情況下,這些系統提供的基本顏色就可以了。但是我們也可以自訂一些自己想要的顏色,下面還有16個Custom Colors的欄位,讓我們使用者可以自定顏色,而設定顏色的方式,就是依照基本色加上RGB色的調整。 自訂色彩設定畫面

9-5 PrinterDialog PrinterDialog主要功用在於提供設定列印版面,即設定列印的相關參數,下圖是PrinterDialog對話方塊的顯示介面。使用者可以設定列印範圍對應到PrintRange屬性,列印數量對應到Copies屬性,加入自動分頁功能對應到Collate屬性,在Options屬性裡又有提供很多參數可以讓我們自行設定,比如說設定列印頁面,是否列印到檔案等等。 列印設定畫面

PrinterDialog屬性介紹 以下為PrinterDialog屬性的介紹及說明: Copies屬性:型態為int,此屬性為設定列印份數。 FormPage屬性:型態為int,此屬性是設定列印的起始頁,也就是說如果設定值為1的話,列印時會從第1頁開始列印。 ToPage屬性:型態為int,此屬性是設定列印的最末頁,也就是說如果設定值為5的話,列印時會從起始頁開始列印到第5頁。 MinPage屬性:型態為int,此屬性是設定列印的最小頁數,當使用者輸入的列印設定裡如果列印頁數小於該屬性的值,則程式就會發出錯誤訊息。 MaxPage屬性:型態為int,此屬性是設定列印的最大頁數,和MinPage剛好相反,當使用者輸入的列印設定裡如果列印頁數大於該屬性的設定值值,則程式就會發出錯誤訊息。 PrintRange屬性:PrintRange屬性有三種設定值:prAllPages,prPageNums,prSelection。當使用者選擇Range時,程式員可以從FromPage和ToPage裡讀出真正要列印的範圍。 PrintToFile屬性:型態為布林變數,此屬性的設定決定是否將列印的結果列印成為檔案,預設值為否。 Options屬性:這是一個Set屬性,該Set裡又有包含很多布林型態屬性,也都是作列印的設定。

9-6 PrinterSetupDialog PrinterSetupDialog主要是用來做印表機的設定,這包含了印表機選擇、紙張格式設定、送紙方式、以及列印方向等等,下圖就是一個PrintSetupDialog所顯示的對話方塊。 印表機設定畫面

9-7 FindDialog Find是幫助使用者搜尋文件裡的字串,常見的有文書編輯軟體、網頁瀏覽器等需要顯示大量文字時,這個功能就是不可或缺的了。BCB所提供的FindDialog就是幫助程式開發者在需要程式加入此功能時可以直接套用,FindDialog的重要屬性如下: 屬性(Properties) 型態原型 說明 FindText AnsiString 搜尋的字串 Option Set 對話方塊的功能設定 Position Tpoint 搜尋起始位置

9-8 ReplaceDialog 我們需要大量的修改某一特定字串成為另一個特定字串時,有的人會每次先Find出來再去修改,這種修改方式在修改數量不大時還可以這樣使用,但是如果修改的字串數量相當多,那麼這種方式就很沒有效率。所以在一些文字編輯軟體中,除了搜尋的功能外,一般都還會有一個類似叫取代的功能。BCB提供了另一個對話方塊元件ReplaceDialog,可以讓我們大量的搜尋和修改。一般視窗Replace對話方塊如下圖。

9-8 ReplaceDialog 上圖中分別顯示兩個輸入欄位,第一為要搜尋的字串,另一個為要更改成的字串。如圖中所示,可以點選Find Next搜尋下一個”I love Sally”字串,確定要更改再點選Replace。如點選Replace All,則所有的”I love Sally”字串將會被改成”I love Sally and Jimmy”。ReplaceDialog使用方式其實和FindDialog差不多,ReplaceDialog的重要屬性如下: 屬性(Properties) 型態原型 說明 FindText AnsiString 搜尋的字串 Option Set 對話方塊的功能設定 Position Tpoint 搜尋起始位置 ReplaceText 更改後的字串

9-9 對話訊息框的使用- MessageBox 在很多情況下,我們需要給使用者一些訊息,這些訊息可能是一個提示、一個疑問、一個警告,甚置是一個錯誤。這些訊息我們習慣用一個對話方塊來表達,而在這個對話方塊中可能會有幾個按鈕、一個圖示,以及一句訊息。別以為為了這個對話框我們又要在新增一的Form、拖曳出按鈕、貼上圖示,C++ Builder有一個MessageBox()函式,能夠產生一個對話框,這個函式的格式如下: int MessageBox(const char * Text, const char * Caption, int Flags);

MessageBox說明 其中Text就是我們要在對話框中顯示的字串,Caption是這個對話框的標題,Flag是這個對話框的格式,我們來看看Flag的用法: 數值 功能 0(MB_OK) 對話框包含OK按鈕 1(MB_OKCANCEL) 對話框包含OK、CANCEL按鈕 2(MB_ ABORTRETRYIGNORE) 對話框包含ABORT、RETRY、IGNORE按鈕 3(MB_YESNOCANCEL) 對話框包含YES、NO、CANCEL按鈕 4(MB_YESNO) 對話框包含YES、NO按鈕 5(MB_RETRYCANCEL) 對話框包含RETRY 、CANCEL按鈕 16 對話框包含錯誤警告圖示 32 對話框包含疑問圖示 48 對話框包含警告圖示1 64 對話框包含警告圖示2 將第一個按鈕設為預設 256 將第二按鈕設為預設 514 將第三按鈕設為預設

9-9 對話訊息框的使用- InputBox 9-9-2:InputBox 另一種對話方塊 InputBox和MessageBox很像,只是它沒有圖示,按鈕也是預設的,而且它多了一個Edit元件。它的函式格式也和MessageBox很像: AnsiString InputBox(const AnsiString ACaption, const AnsiString APrompt, const AnsiString ADefault); 其中ACaption變數為標題,APrompt為提示訊息,ADefault為預設值,當使用者輸入資料並按下OK後,InputBox函式便會傳回資料。

9-9 對話訊息框的使用- ShowBox 9-9-3:ShowBox ShowBox函式格式如下: void ShowMessage(const AnsiString Msg); 這個對話框只有一個參數Msg,就是對話框中的訊息,當使用者按下OK後,程式就會繼續執行,並不會有所影響。 ShowBox畫面

本章習題 將本章第五節裡所提到的小記事本範例,請將其功能建構完整。 設計一個圖片檔案瀏覽程式,能夠把同一目錄下的圖檔用縮小圖形預覽。 利用對話訊息框,設計一個備忘錄紀錄和查詢的系統。