->属性->->数据类型->->说明->->BackImage->->Picture->->设置控件背景图片。利用这个属性,可以实现“皮肤”的功能。->->BarHeight->->integer->->设置分组按钮的高度。->->BorderType->->integer->->设置控件的边框样式->->BorderColor->->long->->设置控件的边框颜色,仅当BorderType设置为“0-Regular”时有效。->->ButtonBackColor->->long->->设置分组按钮和上下滚动按钮的颜色。->->ButtonForeColor->->long->->设置分组按钮和上下滚动按钮的字体颜色。->->ButtonSize->->integer->->设置上下滚动按钮大小。->->GradientFill->->boolean->->设置控件背景是否显示渐变色。->->GradColorFrom->->long->->设置渐变色的起始颜色。->->GradColorTo->->long->->设置渐变色的结束颜色。->->IconSize->->integer->->设置图标显示模式是大图标或小图标。->->Image1-6->->Picture->->设置预先在控件中加载的6幅图片。->->ListBarStyle->->integer->->设置控件纵向或是横向显示。->->ListBackColor->->long->->设置控件的背景颜色。->->ListForeColor->->long->->设置分组中项目文字的颜色。->->ListScrollSpeed->->integer->->设置项目滚动的速度。->->ItemScrollSpeed->->integer->->设置分组滑动的速度。->
第一步:首先启动VisualBasic6.0,新建一个窗口,修改窗口的Caption属性为你喜欢的名字,如“我的QQ菜单”。
第二步:加载CtListBar控件,设置其属性。
①在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到CtListBar控件,载入它;把它添加到Form1窗体中,用鼠标拖动调整其大小。
②修改Caption属性为“我的好友”。Caption属性值将是菜单第一个分组的名称。
③修改ListBackColor属性。实例中我们借用了QQ的头像图片,设置属性值为&H00808000&,是背景颜色与图片背景吻合。
④在Images属性中载入图片。CtListBar控件本身可以载入6幅图片,这里我们从QQ的头像中载入6幅图片(如图1)。
⑤其余属性可以参照表2,依你自己的喜好设置。这里我们采用默认值。
小技巧:虽然CtListBar控件只能载入6幅图片,但是我们可以用其他方法使CtListBar控件可以使用更多的图片,如使用PictureBox控件、ImageList控件等。
第三步:添加其他控件,完成界面的设置。
在窗体中添加5个CommandButton,将名称分别设置为cmd_AddList、cmd_DelList、cmd_AddItem、cmd_DelItem、cmd_Insert;将Caption属性依次设置为“添加分组”、“删除分组”、“添加项目”、“删除项目”、“插入项目”。
到这里,界面的设置就搞掂了,完成后如图2。
第四步:接下来,我们就开始代码的编写,实现具体的功能。
①声明4个全局变量。
-> DimstrListName,strItemNameAsString
DimintListNum,intItemNumAsInteger ->
②CtListBar控件不能预先设置好分组和项目,只能动态的添加,所以我们在Form_Load()事件中加入代码,添加结果分组和项目。
->ctListBar1.AddList”陌生人”
ctListBar1.AddList”黑名单”
ctListBar1.AddListItem1,”Myheart”,ctListBar1.Image1
ctListBar1.AddListItem1,”第七乐章”,ctListBar1.Image2
ctListBar1.AddListItem1,”小A”,ctListBar1.Image3
ctListBar1.AddListItem1,”小B”,ctListBar1.Image4
ctListBar1.AddListItem1,”张三”,ctListBar1.Image5
ctListBar1.AddListItem1,”李四”,ctListBar1.Image6->
以上代码中,我们新添加了“陌生人”和“黑名单”两个分组,又在原先设置过的“我的好友”分组中添加了6个项目。
提示:ctListBar1.AddListItem方法使用了3个参数,分别为nIndex(分组的Index值)、strText(项目的名称)、Picture(项目的图片)。
③在按钮控件cmd_AddList的Click事件中输入代码:
-> strListName=””
strListName=InputBox(“请输入要添加的分组名称”,”添加分组”)
IfstrListName<>””ThenctListBar1.AddListstrListName->
在按钮控件cmd_DelList的Click事件中输入代码:
-> intListNum=0
intListNum=Val(InputBox(“请输入要删除的分组标识号”,”删除分组”))
IfintListNum<>0ThenctListBar1.DeleteListintListNum->
在按钮控件cmd_AddItem的Click事件中输入代码:
-> strItemName=””
intListNum=0
intListNum=Val(InputBox(“请输入要添加的项目所在分组的标识号”,”添加项目”))
IfintListNum<>0ThenstrItemName=InputBox(“请输入要添加的项目的名称”,”添加项目”)
IfstrItemName<>””ThenctListBar1.AddListItemintListNum,strItemName,ctListBar1.Image1->
在按钮控件cmd_DelItem的Click事件中输入代码:
-> intListNum=0
intItemNum=0
intListNum=Val(InputBox(“请输入要删除的项目所在分组的标识号”,”删除项目”))
IfintListNum<>0ThenintItemNum=Val(InputBox(“请输入要删除的项目的标识号”,”删除项目”))
IfintItemNum<>0ThenctListBar1.DeleteItemintListNum,intItemNum->
在按钮控件cmd_Insert的Click事件中输入代码:
-> intListNum=0
intItemNum=0
strItemName=””
intListNum=Val(InputBox(“请输入要插入的项目所在分组的标识号”,”插入项目”))
IfintListNum<>0ThenintItemNum=Val(InputBox(“请输入要插入的项目所在位置的标识号”,”插入项目”))
IfintItemNum<>0ThenstrItemName=InputBox(“请输入要插入的项目的名称”,”插入项目”)
IfstrItemName<>””ThenctListBar1.InsertListItemintListNum,intItemNum,strItemName,tListBar1.Image1->
提示:用AddListItem添加的项目只能添加在该分组末尾,而InsertListItem方法可以在一个分组中的指定位置插入一个新的项目。
到这里,这个简单的实例程序就完成了,按下F5,看看效果(如图3),是不是很酷?和QQ象极了!CtListBar控件用处很多,它完全可以用来替代VisualBasic中菜单编辑器编辑出的古板菜单,很多著名软件都使用了类似的菜单效果。在你的程序中也用上这个控件,一定可以为你的程序增辉不少。
->