1 / 42
文档名称:

Windows窗口高级编程-第四讲.ppt

格式:ppt   大小:660KB   页数:42页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Windows窗口高级编程-第四讲.ppt

上传人:用户头像没有 2017/6/28 文件大小:660 KB

下载得到文件列表

Windows窗口高级编程-第四讲.ppt

相关文档

文档介绍

文档介绍:《Windows窗口高级编程》
第四讲:综合例子计算器的知识点分析(二)
主讲人:阙海忠 UIPower CEO
第一节:托盘图标
Shell_NotifyIcon函数
Shell_NotifyIcon向任务栏的状态栏发送消息以便管理托盘。
BOOL Shell_NotifyIconW(
DWORD dwMessage, //为要发送的消息,表明要执行的操作
PNOTIFYICONDATA lpData // lpData为指向NOTIFYICONDATA结构体的指针//,结构体内容用来配合第一个参数wMessage进// 行图标操作
);
参数:
dwMessage常用的消息如下:
NIM_ADD:向托盘区域添加一个图标。图标相关信息在lpData指向的结构体中。
NIM_DELETE:往托盘区域删除一个图标。图标相关信息在lpData指向的结构体中。
NIM_MODIFY:修改托旁区域的一个图标。图标相关信息在lpData指向的结构体中。
第一节:托盘图标
Shell_NotifyIcon函数的参数PNOTIFYICONDATA
typedef struct _NOTIFYICONDATA {
DWORD cbSize; //该结构体的大小
HWND hWnd; //与托盘直接相关的窗口句柄
UINT uID; //为应用程序定义的任务栏图标的标识符
UINT uFlags; //用来设置哪些成员能起作用
UINT uCallbackMessage; //为用户自定义的消息值
HICON hIcon; //向托盘区域添加、修改或删除一个托盘时的图标句柄
#if (_WIN32_IE < 0x0500)
TCHAR szTip[64]; //鼠标经过托盘图标时,标准工具显示的文本字符串
#else
TCHAR szTip[128]; //鼠标经过托盘图标时,标准工具显示的文本字符串
#endif
第一节:托盘图标
PNOTIFYICONDATA的uFlags介绍
NIF_ICON : hIcon成员起作用。 NIF_MESSAGE:uCallbackMessage成员起作用。
NIF_TIP:szTip成员起作用。 NIF_STATE:dwState和dwStateMask成员起作用。
NIF_INFO:使用气球提示代替普通的工具提示框。szInfo, uTimeout, szInfoTitle,dwInfoFlags成员起作用。
NIF_GUID:guidItem成员起作用。
第一节:托盘图标
PNOTIFYICONDATA的uCallbackMessage介绍
uCallbackMessage为用户自定义的消息值,当托盘区域发生鼠标事件时,系统就会向hWnd发送一个值为uCallbackMessage的用户自定义消息,uCallbackMessage是自定义的,对于自定义消息来说,消息值要大于等于WM_USER。当窗口接收到uCallbackMessage自定义消息时,
WPARAM表示消息触发时的托盘的图标。
LPARAM参数就表示托盘区域中具体发生的事件,比如用户用鼠标左键单击了托盘图标,LPARAM参数的值就是WM_LBUTTONDOWN。
第一节:托盘图标
Shell_NotifyIcon函数的参数PNOTIFYICONDATA
#if (_WIN32_IE >= 0x0500)
DWORD dwState; //图标的状态,有下列两个值: NIS_HIDDEN图标隐藏、 NIS_SHAREDICON图标共享
DWORD dwStateMask;
TCHAR szInfo[256]; //气球提示内容的字符串
union { // uTimeout和uVersion成员是联合体
UINT uTimeout; //表示的是气球提示超时的时间,单位为毫秒,超时后,气球将消失。
UINT uVersion; //表示设备使用的是Windows95 还是 Windows2000风格的图标消息接口。只有当使用//Shell_NotifyIcon函数发送NIM_SETVERSION消息时,此成员才有作用。
} DUMMYUNIONNAME;
TCHAR szInfoTitle[64]; //气球提示的标题的字符串。
DWORD dwInfoFlags; //设置此成员可用来给气球提示框添加一个图标。比如: NIiF_ERROR错误的图标, //NIiF_INFO信息图标, NIIF_NONE没有图标, NIIF_USER使用hIcon指明的图标。
#endif
#if (_WIN32_IE >= 0x600)