- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 C++ Builder 顯示與輸入介面 視窗程式中,佔最大部分的大概就是按鈕跟一些輸入框了。在這一章裡面,我們詳細的介紹各種標籤、按鈕以及輸入的VCL元件,進而介紹一些按鈕軸的使用方法,以及類似筆記本的多行輸入窗。 大綱 5-1. 標籤的使用(Label) 5-2. 使用編輯框(Edit) 5-3. 遮罩編輯框(MaskEdit) 5-4. 標籤編輯框(LabeledEdit) 5-5. StringGrid 5-6. ValueListEdit 5-7. RichEdit元件的使用 5-8. RichEdit元件的使用 本章習題 5-1. 標籤的使用(Label) 標籤,簡單來說就是視窗程式上的文字方塊。標籤的使用相當容易,也很直觀,在之前的程式我們也已經用過Label了!我們將利用範例5-1來說明Label的詳細用法。 Label這個VCL元件放在Standard Page上,選取後也是一樣將游標移到Form上,並且在要放上Label的地方按一下滑鼠左鍵就可以了,其實任何VCL元件都是這樣子使用。 5-2. 使用編輯框(Edit) Edit也是視窗程式中很重要的一個元件,最常見的是將Label和Edit一起使用,因為這樣可以讓使用者很清楚的知道,這個編輯框要輸入的東西是什麼。 Edit這個元件也被放在Standard這一個頁次中,我們將利用範例5-2和5-3把編輯框跟標籤緊緊的結合起來,再配合上按鈕,來完成我們的範例。 5-2. 使用編輯框(Edit) 利用編輯框實作密碼輸入 在很多場合我們需要輸入密碼之類的機密資料,我們通常不會直接讓輸入的資料出現在Edit上,這時候只要修改Edit一個屬性就夠了。 『PasswordChar』。原本這個屬性的設定值是『#0』,我們將之改成我們希望它出現的字元,例如『*』,這樣當我們再輸入字元的時候,一率都是使用『*』來顯示。我們將密碼輸入的實際範例放在範例5-3裡。 5-3. 遮罩編輯框(MaskEdit) 遮罩編輯框跟編輯框的功能很相近,只是遮罩編輯框可以先設定好輸入的格式,所以當使用者在使用的時候,就可以限制使用者輸入的文字。 例如我們希望使用者輸入身分證字號,格式就是一個英文字母加上九個數字,但是有些使用者就會故意亂輸入,這時後除非我們在程式中寫入檢查的程式碼,不然就只能任由使用者亂來了。 MaskEdit被放置在Additional這個頁次內,將MaskEdit放在Form上跟Edit的外觀幾乎沒有什麼不同,但是MaskEdit主要是擁有一個Edit沒有的屬性,就是EditMask這個屬性。 5-3. 遮罩編輯框(MaskEdit) Mask中可以使用的符號 5-3. 遮罩編輯框(MaskEdit) Mask中可以使用的符號 5-3. 遮罩編輯框(MaskEdit) 範例5-4的執行結果 5-4. 標籤編輯框(LabeledEdit) 在前面我們介紹過Label跟Edit,也在範例中展現出Label跟Edit合作無間的功能。 在BCB 6裡面,多了一個相當好用的元件,他叫做『LabeledEdit』,他將Label跟Edit合起來,我們不需要再拉兩個VCL元件下來,只要拉一個LabeledEdit就等於拉了一個Label和Edit。 5-5. StringGrid StringGrid最主要的功能就是提供一個Grid可以讓我們儲存一堆相關的文字。 例如我們將在範例5-6實做的『九九乘法表』就是一個好例子。 其餘,像是很多需要填寫的表格,或是工廠機台傳出來的報表等等,都很適合用StringGrid來表現! 5-5. StringGrid 範例5-6:利用StringGrid實作九九乘法表 StringGrid需要改變的屬性 5-5. StringGrid 範例5-6:利用StringGrid實作九九乘法表 主要程式碼 5-5. StringGrid 範例5-6:利用StringGrid實作九九乘法表 執行結果 5-5. StringGrid 動態產生StringGrid 在範例5-7中,主要是要設計一個可以動態產生StringGrid大小的程式。這樣的好處在於我們不需要在設計程式的同時就固定住該StringGrid的大小,反而可以很彈性的由使用者給定之後再產生所需要的大小。 在這個範例中,main.h以及main.cpp都有動到,跟平常只有修改main.cpp有點不一樣。 5-5. StringGrid 範例5-7:main.h 5-5. StringGrid 範例5-7:main.cpp 5-5. StringGrid 範例5-7:main.cpp 5-5. StringGrid 範例5-7:main.cpp 5-5. StringGrid 範例
文档评论(0)