實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì)_第1頁(yè)
實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì)_第2頁(yè)
實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì)_第3頁(yè)
實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì)_第4頁(yè)
實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì)_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)用擴(kuò)展控件簡(jiǎn)介和性質(zhì) 11.1 RichTextBox控件 11.2 TreeView和ListView控件 11.3 其他擴(kuò)展控件 結(jié)束11.1 RichTextBox控件概述 11.1.1 設(shè)置字體格式 11.1.2 設(shè)置段落格式 11.1.3 使用剪貼板11.1.4 查找文本 11.1.5 打開(kāi)與保存文件 返回首頁(yè)概述 RichTextBox控件又稱(chēng)為多格式文本框,使用該控件不僅可以輸入和編輯文本,還可以對(duì)控件中任何部分的文本設(shè)置不同的格式,如對(duì)選定文本設(shè)置字體、字號(hào)、字形、顏色、下劃線、刪除線等。此外,在該控件中還可以設(shè)置左右縮進(jìn)和懸掛式縮進(jìn)等段落格式,插入圖片,并以RTF和純文本兩

2、種格式打開(kāi)和保存文件。 加載RichTextBox控件的方法:右擊工具箱,在彈出菜單中選擇【部件】菜單項(xiàng),打開(kāi)【部件】對(duì)話框,在【控件】選項(xiàng)卡的列表中選中“”前面的復(fù)選框,單擊【確定】按鈕。此時(shí)工具箱中將增加該控件的圖標(biāo) 。返回首頁(yè)返回本節(jié)11.1.1 設(shè)置字體格式 (1) 下面通過(guò)實(shí)例說(shuō)明如何設(shè)置RichTextBox控件中選定文本的字體格式。【例11.1】利用字體對(duì)話框設(shè)置RichTextBox控件中選定文本的字體格式。 新建工程,在窗體上添加一個(gè)RichTextBox和一個(gè)CommonDialog控件,均采用默認(rèn)名稱(chēng)。將RichTextBox控件的ScrollBars屬性設(shè)為2。再添加一

3、個(gè)命令按鈕,名稱(chēng)為cmdFont,Caption屬性為“字體”。以下是按鈕單擊事件過(guò)程的代碼: 11.1.1 設(shè)置字體格式 (2)Private Sub cmdFont_Click() On Error GoTo Quit With CommonDialog1 設(shè)置通用對(duì)話框相關(guān)屬性 顯示所有字體和效果選項(xiàng) .Flags = cdlCFBoth Or cdlCFEffects 設(shè)置對(duì)話框默認(rèn)字體名稱(chēng) If .FontName = Then .FontName = 宋體 對(duì)用戶(hù)單擊“取消”按鈕做出響應(yīng) .CancelError = True .ShowFont 打開(kāi)字體對(duì)話框 End With

4、設(shè)置RichTextBox控件中選定文本字體格式 With RichTextBox111.1.1 設(shè)置字體格式 (3) 字體名稱(chēng)(字符串型) .SelFontSize = CommonDialog1.FontSize 字號(hào)(整型) .SelBold = CommonDialog1.FontBold 粗體(布爾型) .SelItalic = CommonDialog1.FontItalic 斜體(布爾型) 下劃線(布爾型) . 刪除線(布爾型) . .SelColor = CommonDialog1.Color 顏色(長(zhǎng)整型) End WithQuit:End Sub11.1.1 設(shè)置字體格式

5、(4) 在上述代碼中,首先利用通用對(duì)話框控件打開(kāi)字體對(duì)話框,用戶(hù)在對(duì)話框中設(shè)置格式并確認(rèn)后,通過(guò)代碼中的第二個(gè)With.End With語(yǔ)句塊將RichTextBox控件中的選定文本格式設(shè)置為由字體對(duì)話框返回的各種格式。代碼中RichTextBox控件的7個(gè)以“Sel”為前綴的屬性(代表選定文本的各種格式)分別由字體對(duì)話框的對(duì)應(yīng)屬性賦值。代碼中的注釋說(shuō)明了各屬性的含義。程序運(yùn)行效果如圖11.1所示。 11.1.1 設(shè)置字體格式 (5)圖11.1 設(shè)置字體格式 返回首頁(yè)返回本節(jié)11.1.2 設(shè)置段落格式(1)1. 段落縮進(jìn) RichTextBox控件的SelIndent、SelRightInde

6、nt和SelHangingIndent屬性分別用于設(shè)置選定段落的左縮進(jìn)、右縮進(jìn)和懸掛縮進(jìn),均為整型數(shù)值??s進(jìn)量的單位與窗體的ScaleMode屬性有關(guān),默認(rèn)單位為緹(1厘米=567緹)。 【例11.2】設(shè)置段落縮進(jìn)。在例11.1中的窗體上增加一個(gè)按鈕,Caption屬性為“左縮進(jìn)”,在該按鈕的單擊事件過(guò)程中加入以下代碼: 11.1.2 設(shè)置段落格式(2) Dim sMargin As Single sMargin = Val(InputBox(輸入縮進(jìn)量(厘米):, _左縮進(jìn)) RichTextBox1.SelIndent = sMargin * 567 用同樣的方法可設(shè)置右縮進(jìn)和懸掛縮進(jìn)。2

7、. 段落對(duì)齊方式 RichTextBox控件的SelAlignment屬性用于設(shè)置選定段落的對(duì)齊方式。將該屬性值設(shè)為常數(shù)rtfLeft或0為左對(duì)齊,rtfRight或1為右對(duì)齊,rtfCenter或2為居中。 11.1.2 設(shè)置段落格式(3)3. 項(xiàng)目符號(hào) 將RichTextBox控件的SelBullet屬性設(shè)為T(mén)rue即可為選定段落添加項(xiàng)目符號(hào),若同時(shí)設(shè)置BulletIndent屬性,則可指定含有項(xiàng)目符號(hào)的段落的縮進(jìn)量(默認(rèn)單位為緹)。 提示:可將設(shè)置字體和段落格式的功能匯集在“格式”菜單中。 段落格式設(shè)置效果如圖所示。返回首頁(yè)返回本節(jié)11.1.3 使用剪貼板 (1) RichTextBox

8、控件的SelRTF屬性含有當(dāng)前選定的RTF格式文本。利用SelRTF屬性和剪貼板(Clipboad)對(duì)象可以實(shí)現(xiàn)多格式文本的剪切、復(fù)制和粘貼操作。1. 操作多格式文本 剪貼板對(duì)象的SetText方法用于向剪貼板傳送文本。以下代碼可將多格式文本復(fù)制到剪貼板: 清空剪貼板向剪貼板傳送RTF文本Clipboard.SetText RichTextBox1.SelRTF, _vbCFRTF11.1.3 使用剪貼板 (2) 剪切操作與復(fù)制相似,只需在上述代碼之后加入以下代碼:刪除RichTextBox控件中的選定內(nèi)容RichTextBox1.SelText = 剪貼板對(duì)象的GetText方法用于從剪貼板

9、中粘貼文本。例如:RichTextBox1.SelRTF = Clipboard.GetText(vbCFRTF) 將上述代碼分別置于對(duì)應(yīng)菜單項(xiàng)的單擊事件中即可實(shí)現(xiàn)剪切、復(fù)制和粘貼功能。 11.1.3 使用剪貼板 (3) 2. 插入圖片 利用LoadPicture函數(shù)、剪貼板對(duì)象的SetData方法和模擬鍵盤(pán)輸入的SendKeys語(yǔ)句可以在RichTextBox控件中插入圖片?!纠?1.3】利用剪貼板在RichTextBox控件中插入圖片。效果如圖11.3所示。 在例11.2中添加一個(gè)命令按鈕或菜單項(xiàng),在它的單擊事件過(guò)程中輸入以下代碼: 11.1.3 使用剪貼板 (4)利用通用對(duì)話框選擇圖片文

10、件 清空剪貼板將圖片文件發(fā)送到剪貼板Clipboard.SetData _LoadPicture(CommonDialog1.)模擬組合鍵Ctrl+V從剪貼板粘貼圖片SendKeys v, True返回首頁(yè)返回本節(jié)11.1.4 查找文本 (1) RichTextBox控件的Find方法用于搜索特定字符串。若找到待查內(nèi)容則將其反相顯示,并返回其位置;若未找到則返回-1。Find方法的調(diào)用格式為:RichTextBox控件名稱(chēng).Find(待查字符串,起始位置,結(jié)束位置,選項(xiàng))【例】在RichTextBox控件中查找文本。 在例11.3中添加兩個(gè)菜單項(xiàng)或命令按鈕,標(biāo)題(Caption)分別為“查找”

11、和“查找下一個(gè)”。將RichTextBox控件的HideSelection屬性設(shè)為False,以便在控件失去焦點(diǎn)時(shí)仍可反相顯示找到的字符串。 11.1.4 查找文本 (2) 在代碼編輯窗口的“通用-聲明”部分聲明一個(gè)窗體級(jí)的變量用于存放待查內(nèi)容:Dim strFind As String下面是“查找”菜單項(xiàng)單擊事件過(guò)程的代碼:mnuFind為“查找”菜單項(xiàng)的名稱(chēng)Private Sub mnuFind_Click() strFind = InputBox(輸入查找內(nèi)容, 查找) If strFind = Then Exit Sub Find方法返回-1說(shuō)明未找到 If RichTextBox1.

12、Find(strFind) = -1 Then MsgBox 未找到“ & strFind & ”。, _ vbInformation, 提示 strFind = End IfEnd Sub11.1.4 查找文本 (3) 在“查找下一個(gè)”菜單項(xiàng)或按鈕的單擊事件過(guò)程中加入以下代碼:Dim lngL As Long若為首次查找則調(diào)用“查找”過(guò)程If strFind = Then Call mnuFind_ClickElse With RichTextBox1 lngL = .SelLength .SelStart = .SelStart + lngL11.1.4 查找文本 (4) If .Find

13、(strFind,Len(.TextRTF)= -1 Then .SelStart = .SelStart - lngL .SelLength = lngL MsgBox 查找結(jié)束。, vbInformation, 提示 End If End WithEnd If返回首頁(yè)返回本節(jié)11.1.5 打開(kāi)與保存文件 (1) RichTextBox控件的LoadFile和SaveFile方法分別用于裝載和保存文件。文件格式可以是文本文件或RTF文件。下面通過(guò)實(shí)例說(shuō)明這兩個(gè)方法的調(diào)用。【例】在RichTextBox控件中打開(kāi)和保存文件。 在例中添加一個(gè)頂層菜單“文件”,在該菜單下添加“打開(kāi)”和“保存”兩個(gè)

14、菜單項(xiàng)?!按蜷_(kāi)”菜單項(xiàng)單擊事件過(guò)程的代碼如下: 11.1.5 打開(kāi)與保存文件 (2)Private Sub mnuOpen_Click() 打開(kāi)文件 On Error GoTo Quit With CommonDialog1 .CancelError = True .Filter = 文本文件(*.txt)|*.txt _ & |RTF文件(*.rtf)|*.rtf .ShowOpen If UCase$(Right$(., 3) = RTF Then 打開(kāi)RTF文件 RichTextBox1.LoadFile ., rtfRTF Else 打開(kāi)文本文件 RichTextBox1.LoadFi

15、le ., rtfText End If11.1.5 打開(kāi)與保存文件 (3) End WithQuit:End Sub“保存”菜單項(xiàng)單擊事件過(guò)程的代碼如下:Private Sub mnuSave_Click() On Error GoTo Quit With CommonDialog1 .CancelError = True .Filter = 文本文件(*.txt)|*.txt _ & |RTF文件(*.rtf)|*.rtf .ShowSave11.1.5 打開(kāi)與保存文件 (4) 設(shè)置默認(rèn)擴(kuò)展名,在用戶(hù)未輸入擴(kuò)展名時(shí)使用 If .FilterIndex = 1 Then .DefaultEx

16、t = txt Else .DefaultExt = rtf End If If UCase$(Right$(., 3) = RTF Then 保存文件為RTF格式 RichTextBox1.SaveFile ., rtfRTF Else 保存文本文件 RichTextBox1.SaveFile ., rtfText End If End WithQuit:End Sub返回首頁(yè)返回本節(jié)11.2 TreeView和ListView控件 11.2.1 TreeView控件 11.2.2 ListView控件 TreeView 和 ListView均為中的控件,需要加載后方可使用,加載方法與Ric

17、hTextBox控件相似。返回首頁(yè)11.2.1 TreeView控件 (1)1. 理解Node對(duì)象與Nodes集合 在討論TreeView控件的應(yīng)用之前應(yīng)當(dāng)對(duì)Node對(duì)象和Nodes集合有所了解。TreeView控件中的每個(gè)列表項(xiàng)都是一個(gè)Node對(duì)象(節(jié)點(diǎn)),節(jié)點(diǎn)可包含文本和圖片。節(jié)點(diǎn)之間的關(guān)系可以是父子關(guān)系或兄弟關(guān)系。 如圖所示,系與其班級(jí)之間為父子關(guān)系,各系之間為兄弟關(guān)系(位于同一層次),一個(gè)系中的班級(jí)之間也是兄弟關(guān)系。圖11.4 TreeView控件 11.2.1 TreeView控件 (2) 系是班級(jí)的父節(jié)點(diǎn)(Parent),班級(jí)是系的子節(jié)點(diǎn)(Child)。各系均為頂層節(jié)點(diǎn),頂層節(jié)點(diǎn)沒(méi)

18、有父節(jié)點(diǎn)(Nothing)??丶械乃蠳ode對(duì)象構(gòu)成Nodes集合,集合中的每一個(gè)Node對(duì)象具有一個(gè)惟一的索引(下界為1),利用索引可以訪問(wèn)集合中的Node對(duì)象。例如,TreeView1.Nodes(1)是指集合中的第一個(gè)節(jié)點(diǎn)。11.2.1 TreeView控件 (3)2. 添加節(jié)點(diǎn)Nodes集合的Add方法用于添加節(jié)點(diǎn)。調(diào)用格式為:TreeView控件名.Nodes.Add(相關(guān)節(jié)點(diǎn),關(guān)系,關(guān)鍵字,文本,圖片,選定時(shí)圖片) Add方法的6個(gè)參數(shù)均為可選參數(shù)。前兩個(gè)參數(shù)共同指定新節(jié)點(diǎn)的位置?!跋嚓P(guān)節(jié)點(diǎn)”為現(xiàn)有某節(jié)點(diǎn)的索引或關(guān)鍵字。11.2.1 TreeView控件 (4)“關(guān)系”是指新節(jié)

19、點(diǎn)與“相關(guān)節(jié)點(diǎn)”的位置關(guān)系,該參數(shù)的取值常數(shù)為:tvwFirst,tvwLast,tvwNext,tvwPrevious或tvwChild,分別對(duì)應(yīng)整數(shù)04。其中tvwChild為父子關(guān)系,即新節(jié)點(diǎn)是“相關(guān)節(jié)點(diǎn)”的子節(jié)點(diǎn)。其他常數(shù)均為兄弟關(guān)系,即新節(jié)點(diǎn)與“相關(guān)節(jié)點(diǎn)”位于同一層次,分別為首位、末位、后鄰位和前鄰位。如果省略了“相關(guān)節(jié)點(diǎn)”參數(shù),則在所有頂層節(jié)點(diǎn)之后添加一個(gè)新節(jié)點(diǎn),并且忽略“關(guān)系”參數(shù)。Add方法的其他參數(shù)均不難理解。11.2.1 TreeView控件 (5) 【例】在TreeView控件中建立系和班級(jí)的分層列表。 新建工程,在窗體上添加一個(gè)TreeView控件和一個(gè)ImageLis

20、t控件,均采用默認(rèn)名稱(chēng)。添加兩個(gè)命令按鈕,設(shè)Cpation屬性分別為“添加系”和“添加班級(jí)”。按第10章所述方法在ImageList控件中添加4個(gè)圖片。右擊TreeView控件,在彈出菜單中選擇【屬性】菜單項(xiàng),打開(kāi)如圖11.5所示的【屬性頁(yè)】對(duì)話框,在對(duì)話框的【圖像列表】中選擇ImageList1,設(shè)【線條樣式】為1,單擊【確定】按鈕關(guān)閉對(duì)話框。 11.2.1 TreeView控件 (6)圖11.5 TreeView控件屬性頁(yè) 11.2.1 TreeView控件 (7)在“添加系”按鈕的單擊事件過(guò)程中加入以下代碼:Dim mNode As Node 聲明節(jié)點(diǎn)對(duì)象變量若省略Add方法的第一個(gè)參數(shù)

21、,則在所有頂層節(jié)點(diǎn)之后添加一個(gè)新的頂層節(jié)點(diǎn),同時(shí)忽略Add方法的第二個(gè)參數(shù)。下面一行語(yǔ)句中的1,2為ImageList控件中的圖片索引。Set mNode = TreeView1.Nodes.Add(, , , X系, 1, 2) 添加節(jié)點(diǎn)并為變量賦值mNode.Selected = True 選中新節(jié)點(diǎn)使新節(jié)點(diǎn)標(biāo)簽處于編輯狀態(tài)以便用戶(hù)修改11.2.1 TreeView控件 (8) 在“添加班級(jí)”按鈕的單擊事件過(guò)程中加入以下代碼:若控件中無(wú)節(jié)點(diǎn)退出此過(guò)程If TreeView1.Nodes.Count = 0 Then Exit SubDim mNode As Node 聲明節(jié)點(diǎn)對(duì)象變量Dim

22、 iIndex As Integer若未選擇節(jié)點(diǎn)將出錯(cuò),轉(zhuǎn)錯(cuò)誤處理語(yǔ)句On Error GoTo NodeErr取當(dāng)前選定節(jié)點(diǎn)的索引 11.2.1 TreeView控件 (9) 若選定的節(jié)點(diǎn)是系節(jié)點(diǎn)(無(wú)父節(jié)點(diǎn))則添加子節(jié)點(diǎn), 否則添加兄弟節(jié)點(diǎn) If TreeView1.Nodes(iIndex).Parent Is Nothing Then Set mNode = TreeView1.Nodes.Add(iIndex, _ tvwChild, , X級(jí)X班, 3, 4) Else Set mNode = TreeView1.Nodes.Add(iIndex, _ tvwLast, , X級(jí)X班

23、, 3, 4) End If mNode.EnsureVisible 使新節(jié)點(diǎn)可見(jiàn) mNode.Selected = True 選中新節(jié)點(diǎn) 使新節(jié)點(diǎn)標(biāo)簽處于編輯狀態(tài)以便用戶(hù)修改 11.2.1 TreeView控件 (10) Exit SubNodeErr: 處理錯(cuò)誤 MsgBox 請(qǐng)先選擇一個(gè)系。, vbExclamation, 提示程序運(yùn)行效果如圖和圖所示。 圖11.6 添加系 圖11.7 添加班級(jí) 11.2.1 TreeView控件 (11)3. 刪除和清空節(jié)點(diǎn) Nodes集合的Remove方法和Clear方法分別用于刪除和清空節(jié)點(diǎn)。 【例11.7】擴(kuò)展例11.6的功能,使之能夠刪除和清空

24、節(jié)點(diǎn)。 在例11.6中添加兩個(gè)按鈕,Caption分別為“刪除”和“清空”。在“刪除”按鈕的單擊事件過(guò)程中加入以下代碼:11.2.1 TreeView控件 (12)若控件中無(wú)節(jié)點(diǎn)退出此過(guò)程If TreeView1.Nodes.Count = 0 Then Exit SubDim iIndex As Integer取當(dāng)前選定節(jié)點(diǎn)的索引iIndex = TreeView1.SelectedItem.Index 刪除選定節(jié)點(diǎn)及其子節(jié)點(diǎn)TreeView1.Nodes.Remove iIndex在“清空”按鈕的單擊事件過(guò)程中加入以下代碼: 清除所有節(jié)點(diǎn)返回首頁(yè)返回本節(jié)11.2.2 ListView控件(

25、1) ListView控件可使用大圖標(biāo)、小圖標(biāo)、列表和報(bào)表(詳細(xì)資料)四種不同視圖顯示列表項(xiàng)。Windows資源管理器的右窗格就是ListView控件的典型例子。 1. ListView控件的四種視圖 ListView控件的View屬性決定它的視圖顯示方式,有4種取值。將該屬性值設(shè)為常數(shù)lvwIcon或0為大圖標(biāo),lvwSmallIcon或1為小圖標(biāo),lvwList或2為列表,lvwReport或3為詳細(xì)資料。四種視圖顯示模式如圖圖所示。11.2.2 ListView控件(2)圖11.8 大圖標(biāo)視圖 圖11.9 小圖標(biāo)視圖 11.2.2 ListView控件(3)圖11.10 列表視圖 圖11

26、.11 詳細(xì)資料視圖 11.2.2 ListView控件(4)ListView控件中的對(duì)象與對(duì)象集合(1)ListItem對(duì)象與ListItems集合 ListView控件中的每個(gè)列表項(xiàng)都是一個(gè)ListItem對(duì)象,列表項(xiàng)可包含文本和圖片??丶械乃蠰istItem對(duì)象構(gòu)成ListItems集合,集合中的每個(gè)對(duì)象具有惟一索引。在程序代碼中調(diào)用ListItems集合的Add方法可以在控件中添加列表項(xiàng),調(diào)用格式為:ListView控件名.ListItems.Add(索引, 關(guān)鍵字, 文本, 大圖標(biāo), 小圖標(biāo))11.2.2 ListView控件(5)(2)ColumnHeader對(duì)象與Column

27、Headers集合 在如圖所示的詳細(xì)資料視圖中,第一行的標(biāo)題【姓名】、【性別】和【年齡】即為ColumnHeader對(duì)象(列標(biāo)頭)。控件中的所有ColumnHeader對(duì)象構(gòu)成ColumnHeaders集合。在列標(biāo)頭下面,左起第一列是在各種視圖中均可顯示的列表項(xiàng),列表項(xiàng)右側(cè)的各列均為列表子項(xiàng)(SubItem)。每個(gè)列表項(xiàng)可以有多個(gè)子項(xiàng),它們構(gòu)成子項(xiàng)數(shù)組(SubItems),數(shù)組類(lèi)型為字符串型,下界為1,上界為列標(biāo)頭總數(shù)-1。11.2.2 ListView控件(6) 調(diào)用ColumnHeaders集合的Add方法可以添加列標(biāo)頭,調(diào)用格式為:ListView控件名.ColumnHeaders.Ad

28、d 索引,關(guān)鍵字,文本,寬度,對(duì)齊方式,圖標(biāo) 添加列標(biāo)頭后將自動(dòng)確定列表子項(xiàng)數(shù)組的上界,此時(shí)可以為子項(xiàng)數(shù)組元素賦值。11.2.2 ListView控件(7)3. 在ListView控件中使用圖片 ListView控件中所用的圖片由ImageList控件提供。一個(gè)ListView控件可以使用三個(gè)ImageList控件,分別提供大圖標(biāo)、小圖標(biāo)(供小圖標(biāo)、列表和詳細(xì)資料視圖使用)和列標(biāo)頭圖標(biāo)。在設(shè)計(jì)時(shí)可以通過(guò)ListView控件的屬性頁(yè)指定ImageList控件。程序運(yùn)行時(shí)可以通過(guò)代碼指定要使用的ImageList控件,例如:Set ListView1.Icons = Imagelist1 大圖標(biāo)S

29、et ListView1.SmallIcons = Imagelist2 小圖標(biāo)列標(biāo)頭圖標(biāo)Set ListView1.ColumnHeaderIcons = Imagelist311.2.2 ListView控件(8) 【例】設(shè)計(jì)如圖圖所示的ListView控件的不同視圖。 新建工程,在窗體上添加一個(gè)ListView控件和兩個(gè)ImageList控件(本例中未使用列標(biāo)頭圖標(biāo)),均采用默認(rèn)名稱(chēng)。創(chuàng)建一個(gè)含有四個(gè)元素的單選按鈕數(shù)組,名稱(chēng)均為optView,索引為03,設(shè)Style屬性均為1,Cpation屬性分別為“大圖標(biāo)”、“小圖標(biāo)”、“列表”和“詳細(xì)資料”。ImageList控件和ListVie

30、w控件的屬性分別通過(guò)圖和圖所示的屬性頁(yè)設(shè)置。11.2.2 ListView控件(9)圖11.12 ImageList屬性頁(yè)返回11.2.2 ListView控件(10)圖11.13 ListView屬性頁(yè) 返回11.2.2 ListView控件(11) 右擊ImageList1,在彈出菜單中選擇【屬性】菜單項(xiàng),打開(kāi)如圖11.12所示的【屬性頁(yè)】對(duì)話框,在【通用】選項(xiàng)卡中選擇【32 x 32】單選鈕(此步驟設(shè)置圖像大?。缓笄袚Q到【圖像】選項(xiàng)卡添加4個(gè)圖片。用同樣的方法將ImageList2的圖像大小設(shè)為【16 x 16】并添加圖片。右擊ListView控件,在彈出菜單中選擇【屬性】菜單項(xiàng),打

31、開(kāi)如圖11.13所示的【屬性頁(yè)】對(duì)話框,切換到【圖像列表】選項(xiàng)卡,在【普通】組合框中選擇ImageList1,在【小圖標(biāo)】組合框中選擇ImageList2。 11.2.2 ListView控件(12) 在窗體的Load事件中對(duì)ListView控件進(jìn)行初始化:Private Sub Form_Load() 添加列標(biāo)頭。數(shù)字為寬度(緹) ListView1.ColumnHeaders.Add , , 姓名, 1200 ListView1.ColumnHeaders.Add , , 性別, 800 ListView1.ColumnHeaders.Add , , 年齡, 800 Dim itmX As

32、 ListItem 聲明列表項(xiàng)對(duì)象變量 Set itmX = ListView1.ListItems.Add(, , _ 張三, 1, 1) 添加列表項(xiàng) 設(shè)置子項(xiàng),供“詳細(xì)資料”視圖使用 itmX.SubItems(1) = 男 itmX.SubItems(2) = 20 添加其他列表項(xiàng) End Sub 11.2.2 ListView控件(13)利用單選按鈕的單擊事件切換視圖,代碼如下:用單選按鈕控件數(shù)組切換視圖Private Sub optView_Click(Index As Integer) 4個(gè)單選按鈕的索引號(hào)為03,恰好與ListView控件 View屬性的4個(gè)常數(shù)值相對(duì)應(yīng), 因此用

33、單選鈕的索引號(hào)為L(zhǎng)istView控件的View屬性賦值 可簡(jiǎn)化代碼。 ListView1.View = IndexEnd Sub返回首頁(yè)返回本節(jié)11.3 其他擴(kuò)展控件 11.3.1 SSTab控件 11.3.2 ProgressBar控件 11.3.3 DateTimePicker控件 返回首頁(yè)11.3.1 SSTab控件 (1) SSTab控件提供一組選項(xiàng)卡,每個(gè)選項(xiàng)卡都可作為其它控件的容器。 該控件在部件中,加載后才能使用?!纠恐谱魅?89頁(yè)圖和圖所示含有兩個(gè)選項(xiàng)卡的用戶(hù)界面。圖11.14 基本情況選項(xiàng)卡 圖11.15 附加信息選項(xiàng)卡 11.3.1 SSTab控件 (2) 在窗體上添加一

34、個(gè)SSTab控件,右擊該控件,在彈出菜單中選擇【屬性】菜單項(xiàng),打開(kāi)如圖11.16所示的【屬性頁(yè)】對(duì)話框。在對(duì)話框中將【選項(xiàng)卡數(shù)】設(shè)為2,將【樣式】設(shè)為1。在【選項(xiàng)卡標(biāo)題】文本框中輸入第一個(gè)選項(xiàng)卡的標(biāo)題“基本情況”。單擊“”按鈕,輸入第二個(gè)選項(xiàng)卡的標(biāo)題“附加信息”。單擊【確定】按鈕關(guān)閉對(duì)話框。 根據(jù)圖11.14和圖11.15為兩個(gè)選項(xiàng)卡分別添加相關(guān)控件并設(shè)置屬性。其中,【基本情況】選項(xiàng)卡中用于輸入姓名的文本框名稱(chēng)為txtName,【附加信息】選項(xiàng)卡中用于顯示姓名的標(biāo)簽名稱(chēng)為lblName。 11.3.1 SSTab控件 (3)圖11.16 SSTab控件屬性頁(yè) 11.3.1 SSTab控件 (4

35、)在SSTab控件的單擊事件中加入以下代碼:Private Sub SSTab1_Click(PreviousTab As Integer) Tab屬性返回當(dāng)前活動(dòng)選項(xiàng)卡的索引(下界為0) If SSTab1.Tab = 1 Then 若單擊“附加信息”選項(xiàng)卡 lblName.Caption = 姓名: & End IfEnd Sub返回首頁(yè)返回本節(jié)11.3.2 ProgressBar控件 (1) 在應(yīng)用程序中,當(dāng)執(zhí)行一個(gè)耗時(shí)較長(zhǎng)的操作時(shí),可用ProgressBar控件(進(jìn)度條)顯示事務(wù)的進(jìn)程。ProgressBar屬于中的控件,需要加載后使用。 ProgressBar控件有三個(gè)最重要的屬性M

36、in、Max和Value。Min和Max用于設(shè)置進(jìn)度條的起點(diǎn)和終點(diǎn)。Value屬性用于在運(yùn)行時(shí)設(shè)置或返回進(jìn)度條的填充量。在顯示某操作的進(jìn)展情況時(shí),可以將Value值設(shè)為從Min值開(kāi)始遞增,直到由Max屬性定義的最大值為止。下面通過(guò)實(shí)例說(shuō)明該控件的使用。 11.3.2 ProgressBar控件 (2)【例11.10】用進(jìn)度條和定時(shí)器控件模擬數(shù)據(jù)處理的進(jìn)度,如圖11.17所示。在窗體上添加一個(gè)框架Frame1,設(shè)其Caption屬性為空,Visible屬性為False。在框架中添加兩個(gè)標(biāo)簽,均采用默認(rèn)名稱(chēng)。設(shè)Label1的Caption屬性為“正在處理數(shù)據(jù),請(qǐng)稍候.”。 圖11.17 進(jìn)度條11

37、.3.2 ProgressBar控件 (3)輸入以下代碼:Dim intValue As Integer 窗體級(jí)變量用于存放進(jìn)度值Private Sub cmdStart_Click() “開(kāi)始”按鈕 intValue = 0 ProgressBar1.Value = 0 進(jìn)度條初始化 Frame1.Visible = True 顯示框架及其中的進(jìn)度條等控件 Timer1.Enabled = True 啟動(dòng)定時(shí)器 cmdStart.Enabled = False 使開(kāi)始按鈕無(wú)效End Sub11.3.2 ProgressBar控件 (4)Private Sub Timer1_Timer() 定

38、時(shí)器事件 intValue = intValue + 1 累加進(jìn)度值 If intValue 100 Then 若超過(guò)最大值 Timer1.Enabled = False 關(guān)閉定時(shí)器 MsgBox 數(shù)據(jù)處理結(jié)束。, vbInformation, 提示 Frame1.Visible = False 隱藏框架及其中的控件 cmdStart.Enabled = True 設(shè)開(kāi)始按鈕有效 Else 設(shè)置Value屬性值,顯示進(jìn)度 ProgressBar1.Value = intValue 顯示進(jìn)度百分比 Label2.Caption = intValue & % End IfEnd Sub返回首頁(yè)返回本節(jié)11.3.3 DateTimePicker控件 (1) DateTimePicker控件(DTPicker)可以按指定格式顯示日期或時(shí)間,并且作為修改日期和時(shí)間信息的界面。該控件屬于中的控件,加載后方可使用。 DateTimePicker控件有兩種不同的顯示模式: 下拉日歷模式。單擊控件右部的下拉箭頭可顯示日歷,用于選擇日期。 時(shí)間顯示模式。用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論