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

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

C++ Builder 可視化組件庫(VCL)標準組件 二

2019-11-17 05:19:56
字體:
來源:轉載
供稿:網友
    4.處理列表
    列表提供給用戶一組可選項。有一些組件可顯示列表(見表2-5):
    非可視化組件TStringList和TImageList組件可治理串和圖形集合。請參見2.5.1節可獲得關于串列表的更多信息。
    (1)列表框和復選列表框
    用戶可從列表框(ListBox)和復選列表框(CheckListBox)顯示列表中選擇項。
C++ Builder 可視化組件庫(VCL)標準組件 二(圖一) · Items使用TStrings對象給控件輸入項值。
· ItemIndex指出列表中哪些項被選中。
· MultiSelect指定用戶是否一次能選擇多個項。
· Sorted確定是否按字母順序顯示列表。
· Columns列數指定列表控件的列數。
· IntegralHeight指定是否列表框只顯示完全放入垂直空間的項。
· ItemHeight指定各項的高度(以像素為單位)。Style屬性能使ItemHeight被忽略。
· Style屬性決定列表控件如何顯示其項。缺省時,項顯示為串。通過修改Style屬性的值,你能創建屬主繪制(owner-draw)列表框,它以圖形或以可變高度顯示項。有關屬主繪制控件的更多信息,請參見5.4節。
    (2)組合框
    組合框(ComboBox)是編輯框與滾動列表的組合。當用戶通過鍵入或從列表中選擇項向控件中輸入數據時,Text屬性值會改變。
· Style屬性選擇組合框的類型。
· 使用csDropDown選擇帶有下拉列表的編輯框。使用csDropDownList可使編輯框變為只讀(強迫用戶從列表中選擇)。設置DropDownCount屬性可改變列表框顯示的項數。
· 使用CSSimple創建帶有不會關閉的固定列表的組合框。應重新調整組合框的大小以確保列表項都能顯示。
· 使用csOwnerDrawFixed或者csOwnerDrawVariable來創建屬主繪制組合框,它以圖形或以可變高度顯示項。
    (3)樹型視圖
    樹型視圖(TreeView)以縮排的方式顯示項。該控件提供了答應擴展或折疊節點的按鈕。可以在項目的文本標號中包含圖標,并用不同的圖標顯示表明節點是打開的還是折疊的。還可以加入圖形,如復選框,反映了項目的狀態信息。
· Indent設置每個項與其父項之間的水平像素數。
· ShowButtons激活‘+'和‘-'按鈕的顯示,以指示項是否可以擴展。
· ShowLines激活連接線的顯示,以指明層次關系。
· ShowRoot確定是否顯示連接根項目的線條。
    (4)列表視圖
    列表視圖(ListView)顯示多種格式的列表。使用ViewStyle屬性來選擇列表類型:
· vsIcon和vsSmallIcon將各項顯示為帶標號的圖標。用戶可在列表視圖窗口中拖動項目。
· vsList將項顯示為不能拖動的帶標號的圖標。
· vsReport在各列中帶有信息的連線上顯示項。最左邊列包含一個小圖標和標號,后續各列包含應用程序定義的子項。使用ShowColumnHeaders屬性可顯示列標題。
    (5)日期時間和日歷
    DateTimePicker組件顯示輸入日期或時間的列表框,MonthCalendar組件給出日期或日期范圍。在設計時或運行時使用這些組件,都必須有版本4.70或以后的COMCTL32.DLL(通常位于Windows/System或者Windows/System32目錄)。
    5.分組組件
    當相關的控件和信息以分組形式給出時,圖形界面更輕易使用。C++Builder提供了一些分組組件(見表2-6)
C++ Builder 可視化組件庫(VCL)標準組件 二(圖二)     (1)分組框和單選組
    分組框(GroupBox)是標準Windows組件,用于排列窗體中的相關控件。最常見的分組控件是單選按鈕。將分組框放入窗體后,可從組件面板中選擇組件放入分組框。Caption屬性包含在運行時標記分組框的文本。
    單選組組件(RadioGroup)簡化了創建多個單選按鈕并使其共同工作的任務。為將單選按鈕添加到單選組中,可在對象觀察器中編輯Items屬性;Items中的每個串都在單選組中生成一個以該串為標題的單選按鈕。ItemIndex屬性確定當前被選擇的單選按鈕。通過設置Columns屬性決定單列或多列顯示單選按鈕。若需重新確定按鈕占用的空間,可重新調整分組組件大小。
    (2)面板
    面板組件(Panel)為其他控件提供了一種常規容器。面板可采用對齊窗體的方式,以便在窗體調整大小時保持其相對位置不變。BorderWidth屬性確定面板邊界的寬度(以像素為單位)。
    (3)滾動框
    滾動框(ScrollBox)創建窗體中的滾動區域。應用程序經常需要顯示更多的內容。有一些控件,如列表框、備注以及窗體本身,都可以自動滾動其中的內容。滾動框提供了額外的靈活方式用以在窗體中定義任意的滾動子區域。與面板和分組框一樣,滾動框可包含其他的控件。但是滾動框通常是不可視的。只有當滾動框中的控件超出其可視范圍,滾動框才自動顯示出滾動條。
    (4)標簽控制
    標簽控制組件(TabControl)看上去像是筆記本的分隔頁。在對象觀察器中編輯Tab屬性就能創建標簽;Tab中的每個串代表一個標簽。標簽控制組件是包含一組組件的單個面板。若想在單擊標簽時改變控件的外觀,需要編寫OnChange事件處理程序。若想創建多頁面對話框,可使用頁面控制組件。
    (5)頁面控制
    頁面控制組件(PageControl)是頁面的集合,適合于創建多頁面對話框。右擊頁面控制組件并選擇New Page可創建新頁。
    (6)標題控件
    標題控件(HeaderControl)是列標題的組合,用戶可在運行時選擇或調整其大小。編輯該控件的Sections屬性可添加或修改標題。
    6.可視化反饋
    有許多為用戶提供給用程序狀態信息的方法。例如,有些組件(包括TForm)都有能夠在運行時修改的Caption屬性。也可以創建對話框來顯示這些信息。另外,表2-7中的組件對于在運行時提供可視化反饋是非凡有用:
C++ Builder 可視化組件庫(VCL)標準組件 二(圖三)
    (1)標簽和靜態文本組件
    標簽顯示文本且通常被放置在其他控件旁邊。標準標簽組件,如TLabel,是一種非窗口控件,因此它不能接收焦點;若需要帶有窗口句柄的標簽時,使用TStaticText。標簽包含下面的屬性:
· Caption確定標簽文本串。
· FocusControl將標簽鏈接到窗體中的其他控件。若Caption包含快捷鍵,FocusControl屬性指定的控件會在用戶按下該快捷鍵時獲得焦點。
· ShowAccelChar決定標簽是否顯示帶下劃線的快捷鍵字符。若ShowAccelChar為true,則任意一個帶有字符&為前綴的字符以帶下劃線的方式出現,并可激活快捷鍵。
· Transparent決定在標簽下的項(如圖形)是否可見。 三層交換技術 交換機與路由器密碼恢復 交換機的選購 路由器設置專題 路由故障處理手冊 數字化校園網解決方案
    (2)狀態欄
    雖然可以用面板來創建狀態欄,但使用狀態欄組件更加簡單。缺省時,狀態欄的Align屬性設為alBottom,它會處理位置和尺寸。
通常需要把狀態欄分成幾個文本區。在對象觀察器中編輯,并從面板編輯器中設置各個面板的寬度、排列和文本屬性,就可創建若干面板作為文本區。各個面板的Text屬性包含在面板中顯示的文本。
    (3)進度條
    當應用程序執行費時的操作時,可使用進度條來顯示任務的完成量。進度條顯示一條從左至右增長的虛線(如圖2-3所示)。
C++ Builder 可視化組件庫(VCL)標準組件 二(圖四)    Position屬性跟蹤虛線的長度。Max和Min確定Position的范圍。為使虛線增長,可通過調用StepBy或者StepIt方法增加Position。Step屬性決定StepIt使用的增量。
    (4)幫助和提示屬性
    大多數可視化控件可在運行時顯示上下文相關的幫助和彈出式提示。HelpContext和HelpFile屬性為控件建立幫助的上下文編號和幫助文件。
    Hint屬性包含了一個文本串,用戶將鼠標指針移動到控件或菜單項上方時,就顯示文本串。為了激活提示,需將ShowHint設為true;ParentShowHint設為true可使控件的ShowHint屬性具有和其父代相同的值。
    7.網格
    網格以行和列的方式顯示信息。假如要編寫數據庫應用程序,可使用第27章中描述的TDBGrid或TDBCtrlGrid組件。或者,使用標準繪圖網格或字符串網格。
    (1)繪制網格
    繪制網格(TDrawGrid)以表格形式顯示任意數據。用OnDrawCell事件處理程序來填充網格單元。
· CellRect方法返回指定單元的屏幕坐標,而MouseToCell方法返回在指定屏幕坐標上的單元的列數和行數。Selection屬性指明當前選擇單元的邊界。
· ToPRow屬性確定哪行是網格當前的首行。LeftCol屬性確定左邊第一個可見列。VisibleColCount和VisibleRowCount給出網格可見行、列數。
· 用ColWidths和RowHeights屬性可改變列或行的寬度或高度。GridLineWidth屬性設置網格線的寬度。ScrollBar屬性給網格添加滾動條。
· 可用FixedCols和FixedRows屬性選擇固定或非滾動的列或行。用FixedColor屬性指定固定或非滾動的列或行的顏色。
· Options、DefaultColWidth和DefaultRowHeight屬性也會影響網格的外觀和表現。
    (2)字符串網格
    字符串網格組件是TDrawGrid的后裔,增加了簡化顯示字符串的非凡功能性。Cells屬性列出網格各單元的串;Objects屬性列出與各個串關聯的對象。通過Cols或Rows屬性可訪問特定列或行的所有的串及相關的對象。
    8.圖形顯示
    表2-8中所示的組件使應用程序易于使用圖形。
C++ Builder 可視化組件庫(VCL)標準組件 二(圖五)(1)圖片
    圖片組件(Image)顯示圖形化的圖像,如位圖、圖標和圖元文件。Picture屬性決定顯示的圖形。使
用Center、AutoSize、Stretch及Transparent來設置顯示選項。更多信息請參見6.1節。
    (2)幾何圖形
    幾何圖形組件(Shape)顯示幾何外形。它是非窗口控件,不能接收用戶輸入。Shape屬性決定控件的幾何外形。使用Brush屬性可改變幾何外形的顏色或加入模式(Patten),它包含一個TBrush對象。由TBrush的Color和Style屬性決定如何繪制幾何外形。
    (3)斜角
    斜角組件(Bevel)是可凸出或凹進的線條。一些組件,比如TPanel,內置了創建斜角邊界的屬性。當這樣的屬性不可用時,使用TBevel來創建帶斜角的輪廓線、對話框、框架。
    (4)繪圖框
    繪圖框組件(PaintBox)答應應用程序在窗體中繪圖。可用OnPaint事件處理程序在繪圖框的Canvas
上繪圖。繪圖框能夠防止將圖畫出框外。更多信息請參見6.1節。
    (5)動畫控件
    動畫(Animate)組件是一個窗口,可以無聲的顯示一段AVI。一段AVI是一系列位圖的組合,像一段電影。雖然AVI能有聲音,但是動畫控件只工作在無聲的狀態下。并且,所用文件必須是未壓縮的AVI文件或使用RLE壓縮的AVI文件。下面是動畫組件的一些屬性:
· ResHandle是包含AVI文件的資源模塊的Windows句柄。在運行時設置ResHandle給包含動畫資源的模塊分配實例句柄或模塊句柄。在設置ResHandle后,設置ResID或ResName屬性指定模塊中哪些資源是需通過動畫控件顯示的AVI文件。
· AutoSize屬性設為true可使動畫控件的尺寸適應于AVI的大小。
· StartFrame和StopFrame指定AVI的開始和結束幀。
· 設置CommonAVI來顯示Shell32.DLL提供的Windows通用AVI段。
· 通過設置Active屬性為true或false指定何時開始和中斷動畫。通過設置Repetitions屬性確定重復播放
的次數。
· Timers屬性讓你使用計時器顯示幀。這對于將動畫與其他操作同步很有用,如與音軌同步。

    9.Windows通用對話框
    組件面板的Dialog頁中提供的對話框組件可使你在應用程序中使用標準的Windows對話框,這些對話框為所有的基于Windows的應用程序提供一種常用的、一致的界面,用于治理一些標準操作,如打開、保存、打印文件等。只有當Execute方法被調用時對話框才會打開。Execute方法返回一個布爾值:假如用戶選擇OK來接受在對話框中所做的任何改變,返回true;若用戶沒有做或保存任何改變同時選擇Cacel關閉對話框,返回false。
    使用Windows通用對話框
    TOpenDialog是最常用的對話框組件之一。它通常由窗體的主菜單欄下的文件選項的New或Open菜單項激活。
    TOpenDialog組件使應用程序可使用Open對話框。其用途主要是讓用戶指定打開文件。使用Execute方法打開該對話框。
    當用戶選擇對話框中的OK時,用戶文件名被存儲在TOpenDialog的FileName屬性中,你可按照需要的方式處理它。下列代碼段可加入與TMainMenu的子項相連的Action屬性對應的Action事件處理程序或子項的OnClick事件處理程序中:
C++ Builder 可視化組件庫(VCL)標準組件 二(圖六)
    這個代碼段會顯示出對話框,并且若用戶按下OK按鈕,將把文件名賦給一個名為filename的AnsiString變量。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中卫市| 香河县| 长丰县| 将乐县| 宜都市| 白城市| 班戈县| 苍南县| 鹿邑县| 惠州市| 海城市| 灵川县| 澄城县| 盘锦市| 大洼县| 灵璧县| 溧水县| 北票市| 伊吾县| 开原市| 旬邑县| 潍坊市| 通州区| 莱州市| 香港 | 乌鲁木齐县| 仲巴县| 建瓯市| 璧山县| 鄂托克旗| 名山县| 黑河市| 叙永县| 邵东县| 大渡口区| 磐安县| 肇东市| 彰化市| 金秀| 阿城市| 温宿县|