发新话题
打印

[控件] 类QQ界面应该用哪个控件来做最好??

类QQ界面应该用哪个控件来做最好??

我用的是VERTICALMENU控件,可是好像不能添加一个好友,增加一个ITEM,不知道该怎么编写才好,对这个控件也不是很了解,在网上找了很久,只有一篇类似,可惜是事先添加好几个ITEM,跟我所想要的效果不一样,请问有谁可以帮我下么??
不用这个控件,用什么更好呢?????

TOP

VB中用第三方控件打造QQ菜单
   QQ的界面大家都不陌生吧?CtListBar就是一个十分优秀的第三方控件,利用它我们可以很轻松的做出一个象QQ一样的界面。这节中,我们将通过对CtListBar控件基本使用方法的学习,参照一个实例,打造出一个很酷的QQ菜单。
   CtListBar控件包含了许多很有用的方法和属性。开始实例学习前,我们有必要先对其主要的几个方法和属性了解一番。表一和表二分别列出了几个主要的方法和属性,以及它们的类型、说明。初步了解之后,现在我们就开始实例讲解。
   (表一)
方法  返回类型  说明  
AddList  integer  添加一个新的分组  
DeleteList  boolean  从控件中删除一个已有分组  
AddListItem  integer  在一个分组中新添加一个项目  
DeleteItem  boolean  在一个分组中删除一个项目  
InsertListItem  short  在某一分组中的某一位置插入一个新的项目  
ClearLists  void  清除控件中的所有分组和项目  

   (表二)

属性  数据类型  说明  
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  设置分组滑动的速度。  

   第一步:首先启动Visual Basic 6.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个全局变量。

  Dim strListName, strItemName As String
   Dim intListNum, intItemNum As Integer   

   ②CtListBar控件不能预先设置好分组和项目,只能动态的添加,所以我们在Form_Load()事件中加入代码,添加结果分组和项目。

ctListBar1.AddList "陌生人"
ctListBar1.AddList "黑名单"
ctListBar1.AddListItem 1, "My heart", ctListBar1.Image1
ctListBar1.AddListItem 1, "第七乐章", ctListBar1.Image2
ctListBar1.AddListItem 1, "小A", ctListBar1.Image3
ctListBar1.AddListItem 1, "小B", ctListBar1.Image4
ctListBar1.AddListItem 1, "张三", ctListBar1.Image5
ctListBar1.AddListItem 1, "李四", ctListBar1.Image6  

   以上代码中,我们新添加了“陌生人”和“黑名单”两个分组,又在原先设置过的“我的好友”分组中添加了6个项目。

   提示:ctListBar1.AddListItem方法使用了3个参数,分别为nIndex(分组的Index值)、strText(项目的名称)、Picture(项目的图片)。

   ③在按钮控件cmd_AddList的Click事件中输入代码:

  strListName = ""
   strListName = InputBox("请输入要添加的分组名称", "添加分组")
   If strListName <> "" Then ctListBar1.AddList strListName  

   在按钮控件cmd_DelList的Click事件中输入代码:

  intListNum = 0
   intListNum = Val(InputBox("请输入要删除的分组标识号", "删除分组"))
   If intListNum <> 0 Then ctListBar1.DeleteList intListNum  

   在按钮控件cmd_AddItem的Click事件中输入代码:

  strItemName = ""
   intListNum = 0
   intListNum = Val(InputBox("请输入要添加的项目所在分组的标识号", "添加项目"))
   If intListNum <> 0 Then strItemName = InputBox("请输入要添加的项目的名称", "添加项目")
   If strItemName <> "" Then ctListBar1.AddListItem intListNum, strItemName, ctListBar1.Image1  

   在按钮控件cmd_DelItem的Click事件中输入代码:

  intListNum = 0
   intItemNum = 0
   intListNum = Val(InputBox("请输入要删除的项目所在分组的标识号", "删除项目"))
   If intListNum <> 0 Then intItemNum = Val(InputBox("请输入要删除的项目的标识号", "删除项目"))
   If intItemNum <> 0 Then ctListBar1.DeleteItem intListNum, intItemNum  

   在按钮控件cmd_Insert的Click事件中输入代码:

  intListNum = 0
   intItemNum = 0
   strItemName = ""
   intListNum = Val(InputBox("请输入要插入的项目所在分组的标识号", "插入项目"))
   If intListNum <> 0 Then intItemNum = Val(InputBox("请输入要插入的项目所在位置的标识号", "插入项目"))
   If intItemNum <> 0 Then strItemName = InputBox("请输入要插入的项目的名称", "插入项目")
   If strItemName <> "" Then ctListBar1.InsertListItem intListNum, intItemNum, strItemName, tListBar1.Image1  

   提示:用AddListItem添加的项目只能添加在该分组末尾,而InsertListItem方法可以在一个分组中的指定位置插入一个新的项目。

   到这里,这个简单的实例程序就完成了,按下F5,看看效果(如图3),是不是很酷?和QQ象极了!CtListBar控件用处很多,它完全可以用来替代Visual Basic中菜单编辑器编辑出的古板菜单,很多著名软件都使用了类似的菜单效果。在你的程序中也用上这个控件,一定可以为你的程序增辉不少。

TOP

CtListBar就是一个十分优秀的第三方控件


我同意..哈哈我以前就是用这个做的..很好用,就是不支持双击.也不支持右键菜单
好象他这个控件就是把按扭嵌入里面的...
不过还好了.哈哈

VERTICALMENU控件能添加一个好友啊!我也实验过,不过我觉得VERTICALMENU控件控制起来麻烦(代码写的多)就没用来做,嘿嘿,我发现我比较懒惰也..
回学校我把自己的QQ程序修改下发下,大家看看.

TOP

我的毕业设计做的就是类似QQ的聊天软件,是用VB设计的,我想尽可能的做的好一些,不知道你们谁有程序源码?真诚的希望得到各位的帮助!谢谢!

TOP

换个头像,看见广告就眼红,直接封ID。

TOP

如何实现右击头像弹出下拉菜单

最近看了很多书,可还是不知道像在QQ上右击头像就会弹出下拉菜单是怎麽做出来的?恳请高手给于指点! 谢谢!

TOP

发新话题