DuiVision开发教程(11)-托盘图标和托盘菜单

DuiVision界面库封装了Windows托盘图标的相关操作,可以创建托盘图标,并设置图标文件、托盘的tip信息,也可以处理托盘的单击、双击、右键菜单的事件。

通过调用下面的函数可以进行托盘的初始化:

DuiSystem::Instance()->InitTray();

初始化一般放在主的事件处理类OnInit函数中,可以参考demo程序的代码。设置托盘的图标文件盒tip信息可以调用DuiSystem的SetTrayIcon、SetTrayTip函数。

托盘的右键操作是打开右键菜单,右键菜单在resource.xml中通过menu_tray名字的资源项定义具体的菜单xml文件。

托盘的左键双击默认动作是打开主窗口,也可以更改为自定义的处理方式,resource.xml中下面的配置项用于定义托盘双击的动作,如果为0就表示执行默认的打开主窗口的动作,如果为1,则会发送MSG_TRAY_DBCLICK消息,通过在事件处理类中响应这个消息,就可以处理双击事件。

<res type="cfg" name="trayDbClickMsg" value="0" />

托盘左键的单击事件也会发送一个消息,消息ID为MSG_TRAY_LBUTTONDOWN,通过在事件处理类中响应这个消息,就可以处理单击事件。可以参考Demo程序单击和双击事件响应函数。

时间: 2024-08-03 11:13:25

DuiVision开发教程(11)-托盘图标和托盘菜单的相关文章

DuiVision开发教程(2)-如何写一个简单的界面程序

基于DuiVision界面库开发的界面程序主要包括如下几部分内容: 1.资源定义,包括图片资源.各个窗口界面的xml定义文件 2.事件处理类代码,用于处理界面响应消息 3.其他业务逻辑代码 下面举例说明如何写一个简单的界面程序. 第一步:使用VC向导创建一个有两个tab页面的DuiVision工程 向导生成的解决方案文件如下: 默认有两个工程,分别是DuiVision库和应用程序工程.自动生成的代码目录中bin目录下的内容那个如下,bkimg目录存放窗口背景图片,skins目录存放图片资源,xm

微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应

微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应 参考文章:http://blog.csdn.net/lyq8479/article/details/9841371

DuiVision开发教程(19)-菜单

DuiVision菜单类是CDuiMenu,有两种显示的位置,一种是在窗口顶部某个按钮点击后可以下拉一个菜单,另一种是托盘图标的右键菜单. 窗口中的菜单定义方式是xml文件中设置某个按钮的action属性,以menu:开头,后面是菜单的XML文件名或XML定义名,例如下面这样定义: <imgbtn name="button.menu" pos="-110,0,-77,29" skin="IDB_BT_MENU" tip="菜单&q

DuiVision开发教程(3)-XML资源文件定义介绍

全局资源定义-resource.xml 基于DuiVision界面库的程序,需要有一个默认的资源定义XML文件,此文件默认的位置是exe文件所在路径下的xml\resource.xml文件,如果使用了zip压缩文件来保存所有资源文件,则此文件的位置是在压缩包中的xml\resource.xml文件.此文件中可以定义程序的全局配置.XML文件.字体.图片.文字等资源,示例如下: <?xml version="1.0" encoding="utf-8"?>

微信公众平台开发教程(五)自定义菜单

应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯.在一个小小的微信对话页面,可以实现更多的功能.菜单直观明了,不仅能提供事件响应,还支持URL跳转,如果需要的功能比较复杂,我们大可以使用URL跳转,跳转至我们的网页即可. 注意:自定义菜单,只有服务号才有此功能 如何注册,见第一章:微信公众账号开发教程(一) 基本原理及微信公众账号注册 效果如下, 接着我们详细介绍,如何实现自定义菜单? 二

微信公众账号开发教程(四)自定义菜单

转自http://www.cnblogs.com/yank/p/3418194.html 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯.在一个小小的微信对话页面,可以实现更多的功能.菜单直观明了,不仅能提供事件响应,还支持URL跳转,如果需要的功能比较复杂,我们大可以使用URL跳转,跳转至我们的网页即可. 注意:自定义菜单,只有服务号才有此功能 如何注册,见第一章:微信公众账号开发教程(一) 基本原理及微信公众账号注册 效果如下

DuiVision开发教程(5)-事件处理类编写

使用DuiVision开发的界面程序中,除了界面的描述之外,最主要的工作就是业务逻辑的处理,为了将业务逻辑和界面展示能够更好的分离,DuiVision中定义了事件处理基类,所有的业务逻辑都应该写在派生的事件处理类中,并把事件处理对象注册到相应的对话框或控件上,这样对应的子控件有事件需要处理的时候,就会自动调用注册的事件处理对象的相应函数.事件处理类只要在处理函数中根据控件的ID或名字决定该做什么事情,写相应的处理代码就可以.事件处理类中同时提供了一些函数方便根据ID或名字获取到对应的控件对象,并

[038] 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应

微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3)使用QQ登录的公众号,可以升级为邮箱登录: 4)使用邮箱登录的公众号,可以修改登录邮箱: 5)编辑图文消息可选填作者: 6)群发消息可以同步到腾讯微博. 其中,大家议论最多的当属前两条,就是关于帐号类型和自定义菜单的更新,我这里做几点补充说明: 1)目前公众号类型分为两种:服务号和订阅号,8月5日

[039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)

引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有在首页发布任何通知,貌似微信团队很喜欢这么干.一个偶然的机会,我留意到API文档的自定义菜单接口发生了变化,增加了对菜单view类型的说明: view(访问网页): 用户点击view类型按钮后,会直接跳转到开发者指定的url中. 于是我在第一时间更新了小q机器人(微信号:xiaoqrobot)的菜单,在一级菜