Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样设置在线、离线用户图标


  共有2208人关注过本帖树形打印复制链接

主题:[求助]怎样设置在线、离线用户图标

帅哥哟,离线,有人找我吗?
jyh7081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]怎样设置在线、离线用户图标  发帖心情 Post By:2017/12/13 8:34:00 [显示全部帖子]

openqq可将在线、离线用户采用不同颜色的图标进行区分,假如在线图标为“001.ico”,离线图标为“002.ico”,代码怎么写?

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/13 19:45:00 [显示全部帖子]

我利用用户组作为根节点,用户名作为子节点,生成目录树,见下图。

怎样根据好友的在线状态,为目录树的子节点适用不同的图标(“在线.ico”或“离线.ico”),请老师帮助改一下加黑部分的代码,谢谢!

 


此主题相关图片如下:image 2.png
按此在新窗口浏览图片

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    Select Case nd.Level
        Case  0   '组节点
            nd.Ic
        Case  1   '用户名节点
            For Each bd As QQBuddy In QQClient.Buddies '显示好友名和在线状态


                 If bd.name = nd.name Then
                    If bd.Online Then
                        nd.IconFile = " d: \在线.ico"
                    Else
                        nd.IconFile = " d: \离线.ico"
                    End If
                End If

            Next
    End Select
Next


[此贴子已经被作者于2017/12/13 19:51:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/13 21:05:00 [显示全部帖子]

老师,提示“给定关键字不在字典中”(图片已放入Images),TimerTick代码如下:

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    Select Case nd.Level
        Case  0   '组节点
            nd.Ic
        Case  1   '用户名节点
            For Each bd As QQBuddy In QQClient.Buddies '显示好友名和在线状态     ’去掉这句用下句也不行
                'Dim bd As QQBuddy = QQClient.Buddies(nd.parentNode.Name & "." & nd.Name)
                bd = QQClient.Buddies(nd.parentNode.Name & "." & nd.Name)
                If bd.Online Then
                    nd.Ic
                Else
                    nd.Ic
                End If
            Next
    End Select
Next


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/13 22:08:00 [显示全部帖子]

1、bd.Name     弹出格式为:xx团队.姓名

 

2、目录树根节点:xx团队;    次节点:姓名;   

     生成目录树的代码:

    Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
    For Each u As UserInfo In Users
        If u.Type = UserTypeEnum.User Then '排除管理员和开发者
            If trv1.Nodes.Contains(u.Group) = False Then
                trv1.Nodes.Add(u.Group)
            End If
            trv1.Nodes(u.Group).Nodes.Add(u.Name)
        End If
    Next

 

 

nd.parentNode.Name & "." & nd.Name  bd.Name    看着是匹配的,不知道哪里问题?

 



 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/13 22:45:00 [显示全部帖子]

msgbox(nd.parentNode.Name & "." & nd.Name)     弹出格式为:xx团队.姓名

跟   bd.Name     弹出的格式一样。

 

代码直接写也一样提示“给定关键字不在字典中”。


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/13 23:38:00 [显示全部帖子]

格式都一样,但关不了,不停的出......

 

[此贴子已经被作者于2017/12/14 12:37:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/14 11:46:00 [显示全部帖子]

这样是不报错了,但是在线和离线没能区分。(另外,倒数第三行代码If logon = False Then nd.Ic,是什么?

我从项目拆分出个实例,麻烦老师给看一下。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:团队通讯.part1.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:团队通讯.part2.rar

[此贴子已经被作者于2017/12/14 11:52:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/12/14 12:38:00 [显示全部帖子]

谢谢版主!很完美!

 


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看

 回到顶部