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


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

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

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


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

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

谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/13 8:41:00 [只看该作者]

内置的openqq聊天窗口的图标?这个是改不了的。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/13 8:46:00 [只看该作者]

如果是自己做的窗口,可以判断其online属性 http://www.foxtable.com/webhelp/scr/2987.htm

 


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/13 20:23:00 [只看该作者]

Dim bd As QQBuddy = QQClient.Buddies(nd.parentNode.name & "." & nd.Name)
If bd.Online Then
    nd.IconFile = " d: \在线.ico"
Else
    nd.IconFile = " d: \离线.ico"
End If

[此贴子已经被作者于2017/12/13 20:22:59编辑过]

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/13 21:47:00 [只看该作者]

1、你的好友的用户名是什么样的?弹出看看

 

For Each bd As QQBuddy In QQClient.Buddies

    output.show(bd.Name)

Next

 

2、你目录树的节点怎么组合,可以得到那样的名称?


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望: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    看着是匹配的,不知道哪里问题?

 



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/13 22:13:00 [只看该作者]

弹出这个值看看

 

msgbox(nd.parentNode.Name & "." & nd.Name)

 

下面的代码直接写,不需要写循环

 

Dim bd As QQBuddy = QQClient.Buddies(nd.parentNode.name & "." & nd.Name)
If bd.Online Then
    nd.IconFile = " d: \在线.ico"
Else
    nd.IconFile = " d: \离线.ico"
End If


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望: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     弹出的格式一样。

 

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


 回到顶部
总数 18 1 2 下一页