如-何-在-任-务-栏-上-显-示-图-标.docx

如-何-在-任-务-栏-上-显-示-图-标.docx

ID:57647508

大小:23.18 KB

页数:5页

时间:2020-08-30

如-何-在-任-务-栏-上-显-示-图-标.docx_第1页
如-何-在-任-务-栏-上-显-示-图-标.docx_第2页
如-何-在-任-务-栏-上-显-示-图-标.docx_第3页
如-何-在-任-务-栏-上-显-示-图-标.docx_第4页
如-何-在-任-务-栏-上-显-示-图-标.docx_第5页
资源描述:

《如-何-在-任-务-栏-上-显-示-图-标.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何在任务栏上显示图标----Windows95/WindowNT任务栏的右边是一状态区,Windows95/WindowsNT在其上显示时间和一些小图标,这些图标代表着特定的功能或程序,用鼠标单击、右击或双击这些图标,就会弹出功能菜单或程序窗口等。如你用过金山词霸或超级解霸,你会觉得这些图标使软件用起来很方便。你也许想把自己的程序图标也放在任务栏的状态区上,很简单,VisualC++5.0提供了一个函数,让你很容易地实现该功能。----VisualC++提供的函数是Shell_NotifyIcon(),该函数发送消息给系统在任务栏的状态区增加、删除

2、或修改图标。Shell_NotifyIcon()有两个参数:----1.DWORDdwMessage----消息标志值,为以下三个中之一:NIM_ADD在任务栏状态区增加图标NIM_DELETE从任务栏状态区删除图标NIM_MODITY修改任务栏状态区的图标----2.PNOTIFYICONDATApnid----指向NOTIFYICONDATA结构的指针。NOTIFYICONDATA结构如下:typedefstruct_NOTIFYICONDATA{//nidDWORDcbSize;//NOTIFYICONDATA结构的大小HWNDhWnd;//接

3、收回调消息的窗口句柄UINTuID;//自定义的图标标志值UINTuFlags;//标志后面的三个数据成员哪个有效,//可由NIF_ICON,NIF_MESSAGE和NIF_TIP组合。UINTuCallbackMessage;//回调消息HICONhIcon;//图标句柄charszTip[64];//提示字符。当把鼠标移到任务栏//状态区该图标上时,系统显示该字符}NOTIFYICONDATA,*PNOTIFYICONDATA;----以下举例如何在任务栏状态区实现程序图标及其功能。----1.首先生成一个单文档的工程文件。----2.在StdA

4、fx.h添加自定义的消息://回调消息#defineMYWM_NOTIFYICONWM_USER+1//在任务栏状态区显示图标的消息#defineMYWM_SHOWAPPICONICWM_USER+2----3.在MainFrm.h里添加定义消息处理函数说明,该部分看起来如下:protected://{{AFX_MSG(CMainFrame)afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam);//手工加afx_msgvoidOnMyIconNotify(WPARAMwParam,LPARAMlParam);//

5、手工加afx_msgvoidOnShowAppIconic(WPARAMwParam,LPARAMlParam);//手工加afx_msgvoidOnClose();//系统生成//}}AFX_MSGDECLARE_MESSAGE_MAP()----另外,需在MainFrm.h定义一开关值,记录程序窗口是打开或关闭状态:BOOLboolWndHadShow;----4.在MainFrm.cpp里实现消息映射和消息处理函数。消息映射部分看起来如下:BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)//{{AFX_MSG_MA

6、P(CMainFrame)ON_MESSAGE(MYWM_NOTIFYICON,OnMyIconNotify)ON_MESSAGE(MYWM_SHOWAPPICONIC,OnShowAppIconic)ON_WM_SYSCOMMAND()ON_WM_CLOSE()//}}AFX_MSG_MAPEND_MESSAGE_MAP()----消息处理及相关函数如下所示://在任务栏状态区添加图标BOOLMyTaskBarAddIcon(HWNDhwnd,UINTuID,HICONhicon,LPSTRlpszTip){BOOLres;NOTIFYICONDA

7、TAtnid;tnid.cbSize=sizeof(NOTIFYICONDATA);tnid.hWnd=hwnd;tnid.uID=uID;tnid.uFlags=NIF_ICON

8、NIF_TIP

9、NIF_MESSAGE;tnid.uCallbackMessage=MYWM_NOTIFYICON;tnid.hIcon=hicon;if(lpszTip)lstrcpyn(tnid.szTip,lpszTip,sizeof(tnid.szTip));elsetnid.szTip[0]='';res=Shell_NotifyIcon(NIM_ADD,&

10、tnid);if(hicon)DestroyIcon(hicon);returnres;}//从任务栏状态区

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。