VC++单文档程序最小化到托盘+自定义消息.doc

VC++单文档程序最小化到托盘+自定义消息.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
- . z. 1.自定义消息的方法 #define WM_MYMESSAGE WM_USER+1 af*_msg LRESULT OnMyMessage ( WPARAM wParam, LPARAM lParam ); ON_MESSAGE ( WM_MYMESSAGE, OnMyMessage )//这句要在BEGIN MESSAGE MAP和end中间 LRESULT c**::OnMyMessage ( WPARAM wParma, LPARAM lParam ) { ... } 2.最小化到托盘函数 void CMainFrame::toTray(void) { NOTIFYICONDATA?? nid;?? nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);?? nid.hWnd=this-m_hWnd;?? nid.uID=IDR_MAINFRAME;?? nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP?? ;?? nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称?? nid.hIcon=LoadIcon(Af*GetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));?? //CString str = L方案任务提醒; //nid.szTip = {L方案任务提醒}; //信息提示条为方案任务提醒〞?? Shell_NotifyIcon(NIM_ADD,nid);//在托盘区添加图标?? ShowWindow(SW_HIDE);//隐藏主窗口?? } 3、对托盘处理过程函数 LRESULT CMainFrame::OnShowTask(WPARAM?? wParam,LPARAM?? lParam) { // TODO: 在此处添加消息处理程序代码 if(wParam!=IDR_MAINFRAME)?? ?? return?? 1;?? switch(lParam)?? {?? case?? WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个关闭〞?? ?? {?? ??? LPPOINT?? lpoint=new?? tagPOINT;?? ??? ::GetCursorPos(lpoint);//得到鼠标位置?? ??? CMenu?? menu;?? ??? menu.CreatePopupMenu();//声明一个弹出式菜单?? ??? //增加菜单项关闭〞,点击则发送消息WM_DESTROY给主窗口〔已?? ??? //隐藏〕,将程序完毕。?? ??? menu.AppendMenu(MF_STRING,WM_DESTROY,L关闭);?? ??? //确定弹出式菜单的位置?? ??? menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint-*,lpoint-y,this);?? ??? //资源回收?? ??? HMENU?? hmenu=menu.Detach();?? ??? menu.DestroyMenu();?? ??? delete?? lpoint;?? ?? }?? ?? break;?? case?? WM_LBUTTONDBLCLK://双击左键的处理?? ?? {?? ??? this-ShowWindow(SW_SHOW);//简单的显示主窗口完事儿?? ?? }?? ?? break;?? }?? return?? 0;?? } 4、上面是mfc下托盘的处理。下面是一个完整的纯SDK的托盘程序。 #include windows.h #include atlimage.h #include resource.h //#include af*win.h #define WM_SHOWTASK WM_USER+10 //#define _AF*DLL; HWND hWnd; //程序主窗口句柄 HINSTANCE mhInstance; //实例句柄 NOTIFYICONDATA?? nid;?? //托盘构造体 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; void ToTray(void); LRESULT OnShowTask(WPARAM?? wParam,LPARAM?? lParam); CImage image; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, ?????

文档评论(0)

dqxhm88 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档