http://www.freewebs.com/chenlifu/SystemTrayDLLUpdate.rar
一个动态链接库(MFC扩展库)及其测试程序的例子(系统托盘图标)
.升级版.
动态连接库输出一个类:
class __declspec( dllexport ) CSystemTray : public CWnd
{
//...........
};
这个类封装了系统托盘添加删除修改的操作.
并且提供许多便捷的途径修改托盘属性.
可以更改托盘图标;
可以动态显示托盘图标(显示的图标由调用者指定);
可以更改提示字符串.
可以改变托盘发出的消息.
可以弹出或者不弹出菜单;
可以改变弹出的菜单;
可以改变处理菜单命令的窗口.
可以指定弹出菜单的(鼠标)消息,
默认是左键或者右键按下弹出默认菜单,
可以更改为仅是左键或者右键按下弹出菜单,
或者仅中键按下弹出菜单,或者鼠标移动弹出菜单.
可以指定"不同的鼠标消息弹出不同的菜单".
可以将托盘通知消息转发到指定的窗口并且可以动态改变,
但是接收通知消息的窗口需要定义通知消息的处理函数.
以上功能我没有全部测试过,所以不知道有什么样的BUG,
希望哪位朋友发现了BUG或者有其他建议给我发邮件.
文件名带D结尾的库文件是Debug版,其他的是Release版.
动态链接库输出文件位于Export文件夹,
测试程序位于SystemTrayDLLTest文件夹.
含全部源代码,可以直接编译(VC6).
一个动态连接库(MFC扩展库)及其测试程序的例子(一个定时关闭的消息对话框).
http://www.freewebs.com/chenlifu/AutoMessageBoxDllE.rar
动态连接库输出:
一个类:
class __declspec( dllexport ) CAutoMessageBox : public CDialog
{
//...
};
一个全局函数:
int __declspec( dllexport ) AutoMessageBox( int nInterval, const CString& strMessage, const CString& strTitle );
这个全局函数只是简单的调用了上面的类.
输出的类和函数完成的功能就是:
显示一个模式对话框,并在指定的时间(以秒为单位)之后自动关闭这个对话框.
其中strMessage和strTitle需要格式化的字符串,
预留一个显示秒数的地方,参考如下默认值.
默认值:
nInterval = 30;//对话框显示时间,以秒为单位,默认为30秒!
strMessage = "对话框将在 %d 秒之后关闭...";//默认显示的消息
strTitle = "剩余时间: %d 秒";//默认显示的标题
动态连接库输出的头文件和库位于Export文件夹,
文件名以D结尾的是Debug版,另外的是Release版.
测试程序位于文件夹TestAutoMessageBox.
附全部源代码,可以直接编译(VC6).
作者:陈立福
邮件:[email protected]
主页:www.freewebs.com/xunknown
本文地址:http://com.8s8s.com/it/it1026.htm