📄 m57.htm
字号:
Set nodX=TreeView1.Nodes.Add(3,tvwChild,,"Child5",1)<br>
nodX.EnsureVisible'展开树显示全部节点。<br>
End Sub<br>
<br>
Private Sub TreeView1_MouseDown_<br>
(Button As Integer,Shift As Integer,x As Single,y As Single)<br>
Set nodX=TreeView1.SelectedItem<br>
'设置要拖动的项。<br>
End Sub<br>
<br>
Private Sub TreeView1_MouseMove(Button As Integer,<br>
Shift As Integer,x As Single,y As Single)<br>
If Button=vbLeftButton Then<br>
'指示拖动操作。<br>
indrag=True<br>
'设置标志为true。<br>
'用CreateDragImage方法设置拖动图标。<br>
TreeView1.DragIcon=TreeView1.SelectedItem.CreateDragImage<br>
TreeView1.DragvbBeginDrag'拖动操作。<br>
End If<br>
End Sub<br>
<br>
<strong>六、图片式文件夹---ListView</strong><br>
<br>
ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)<br>
ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:<br>
▲单击对象触发ColumnClick事件并根据数据项目将项目排序。<br>
▲拖动对象的右边框来调整列宽度。<br>
▲在报表视图中隐藏ColumnHeader对象。<br>
ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。<br>
<br>
ColumnHeader对象的SubItemIndex属性<br>
该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。<br>
在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。<br>
<br>
<strong>ColumnHeader对象的Add方法</strong><br>
该方法的使用与前面那些控件基本相似,就不再介绍了。<br>
ListView1.ColumnHeader.Add(index,key,text,width,alignment)<br>
ListItem对象是指控件中的一行(不包含标头行)的所有内容。它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。<br>
<br>
<strong>ListItem对象的SubItems属性</strong><br>
返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。<br>
ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。<br>
<br>
<strong>ListItem对象的Add方法 </strong><br>
该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。<br>
它的语法如下:<br>
<br>
ListItem1.Add(index,key,text,icon,smallIcon)<br>
<br>
<strong>ListView控件的View属性</strong><br>
ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。<br>
ListView控件的SortOrder,SortKey和Sorted属性<br>
控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。<br>
SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。<br>
SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。<br>
Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。<br>
下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。<br>
<br>
Private Sub Form_load()<br>
'确保ListView控件的view属性为报表视图。<br>
ListView1.View=lvwReport<br>
'添加三列。<br>
ListView1.ColumnHeaders.Add,"Name","姓名"<br>
ListView1.ColumnHeaders.Add,"Sex","性别"<br>
ListView1.ColumnHeaders.Add,"Age","年龄"<br>
'向控件添加ListItem对象。<br>
Dim itmX As ListItem<br>
'添加column1的名称。<br>
Set itmX=ListView1.ListItems.Add(1,"ZL","张力")<br>
'使用SubItemIndex将SubItem与正确的ColumnHeader关联。使用关键字("Sex")指定正确的ColumnHeader。<br>
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"<br>
'使用ColumnHeader关键字将SubItems字符串与<br>
'正确的ColumnHeader关联。<br>
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"<br>
Set itmX=ListView1.ListItems.Add(1,"LF","李芳")<br>
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"<br>
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"<br>
Set itmX=ListView1.ListItems.Add(1,"WW","王伟")<br>
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"<br>
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"<br>
End Sub<br>
<br>
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)<br>
Select Case ColumnHeader.Key<br>
Case "Sex":ListView1.SortKey=1<br>
ListView1.SortOrder=lvwAscending<br>
ListView1.Sorted=True<br>
Case "Age":ListView1.SortKey=2<br>
ListView1.SortOrder=lvwAscending<br>
ListView1.Sorted=True<br>
End Select<br>
End Sub<br>
<br>
<strong>七、带刻度滑块---Slider</strong><br>
<br>
Slider控件是一个包含滑块和可选择性刻度标记的窗口,可以通过拖动滑块,用鼠标单击滑块的任意一侧或者使用键盘移动滑块来选择一个值。<br>
在选择离散数值或某个范围内的一组连续数值时,Slider控件十分有用。例如,无需键入数字,通过将滑块移动到刻度标记处,可以用Slider控件来输入数值。<br>
Silder控件的大多数基本属性比较简单,我们这里重点介绍一些较有用而又常易忽略的属性。<br>
<strong>TickStyle属性</strong><br>
该属性返回或设置Slider控件上显示的刻度标记的样式。<br>
SelectRange,SelStart和SelLength属性<br>
Slider控件可以选择某个范围内的数值,这就要用到SelectRange,SelStart和SelLength属性。<br>
SelectRange属性决定Slider控件是否可以选择一个范围。如果SelectRange属性为True,SelStart为选定范围的起始值,SelLength为选定范围的长度。<br>
如果SelectRange属性为False,则SelStart属性的设置值与Value属性的设置值相同,SelLength属性无效。<br>
下列代码允许在按住SHIFT键时,用鼠标拖动或单击Slider控件以选择一个范围。<br>
Private Sub Form_Load()<br>
'设置slider控件的设置值<br>
Slider1.Max=20<br>
End Sub<br>
<br>
Private Sub Slider1_MouseDown(Button As Integer,Shift As Integer,x As
Single,y As Single)<br>
If Shift=1 Then '如果按住Shift键,则Slider1.SelectRange=True
'打开SelectRange。<br>
Slider1.SelStart=Slider1.Value'设置SelStart数值<br>
Slider1.SelLength=0'设置先前的SelLength(如存在)为0。<br>
End If<br>
End Sub<br>
<br>
Private Sub Slider1_MouseUp(Button As Integer,Shift As Integer,x As Single,y
As Single)<br>
if Shift=1 Then<br>
'如果在一点决定返回上一步,将发生错误。<br>
On Error Resume Next<br>
'否则使用SelStart和当前数值设置SelLength。<br>
Slider1.SelLength=Slider1.Value-Slider1.SelStart<br>
Else<br>
Slider1.SelectRange=False'如果松开SHIFT键。<br>
End If<br>
End Sub<br>
在程序中,常用Slider控件来代替键盘输入数字,如下面的例子。<br>
该例通过Slider控件来显示不同的长度。<br>
Private Sub Form_Load()<br>
Slider1.Min=0<br>
Slider1.Max=50<br>
Slider1.SmallChange=1<br>
Slider1.LargeChange=10<br>
Slider1.TickFrequency=5<br>
End Sub <br>
Private Sub Slider1_Change()<br>
Label1.Caption="长度是"&Format(Slider1.Value/5,"#.00")&"厘米"<br>
End Sub<br>
<br>
<strong>八、ProgressBar控件</strong><br>
最后,我们来看一下ProgressBar。在应用程序中,当进行一个较长的操作比如安装或载入程序 时,通常会用一个进度指示器来表示进度。在VB中,这个工作可以由ProgressBar控件来完成。ProgressBar控件通过从左到右用一些方块填充矩形来表示一个较长操作的进度。<br>
在运行时,ProgressBar控件监视着操作完成的进度。控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。其使用方法与Slider控件相似。<br>
好了,到这里我们把Common家族都介绍完了,各位VB同道,若您把他们兄弟几个调教好了,保管您的应用程序界面具有专业水准。如果您在工具箱里找不到他们的话,可以用右键单击工具箱,选择“部件”,然后选中MicrosoftWindowsCommonControls5.0,最后单击“确定”就行了。</span></font></span> <span class=ourfont><br>
□汪永涛</span></font></span>
<p align="left"> <br>
</table>
</div>
<p align="center"><a href="../../pian/vb.htm">回首页</a>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -