MFC窗口實現最小化到托盤 右鍵菜單和還原

//.h文件
void toTray();//最小化到托盤
void DeleteTray();//刪除托盤圖標

afx_msg LRESULT OnShowTask(WPARAM wParam,LPARAM lParam) ;//圖標恢復//.cpp文件#define WM_SHOWTASK (WM_USER +1)
#define IDR_SHOW 11
#define IDR_OTHER 12
#define IDR_EXIT 13

BEGIN_MESSAGE_MAP()
...
ON_MESSAGE(WM_SHOWTASK,OnShowTask)//消息映射
END_MESSAGE_MAP()

?

void ScheduleDlg::toTray()//最小化到托盤
{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(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));  strcpy(nid.szTip,"OA");//信息提示條為“OA”  Shell_NotifyIcon(NIM_ADD,&nid);//在托盤區添加圖標  ShowWindow(SW_HIDE);//隱藏主窗口 
}LRESULT ScheduleDlg::OnShowTask(WPARAM wParam, LPARAM lParam)
{//wParam接收的是圖標的ID,而lParam接收的是鼠標的行為 if(wParam != IDR_MAINFRAME) return 1;switch (lParam){case WM_LBUTTONUP://左鍵單擊顯示主界面
        {this->ShowWindow(SW_SHOW);SetForegroundWindow();DeleteTray();}break;case WM_RBUTTONUP://右擊彈出菜單
        {LPPOINT lpoint = new tagPOINT;::GetCursorPos(lpoint);//得到鼠標位置
            CMenu menu;menu.CreatePopupMenu();menu.AppendMenu(MFT_STRING, IDR_SHOW, "打開主界面");menu.AppendMenu(MFT_STRING, IDR_OTHER, "其他");menu.AppendMenu(MFT_STRING, IDR_EXIT, "退出");SetForegroundWindow();EnableMenuItem(menu,IDR_OTHER,MF_GRAYED);//"其他"菜單變灰//menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x,lpoint->y,this);//顯示菜單int xx=TrackPopupMenu(menu,TPM_RETURNCMD,lpoint->x,lpoint->y,NULL,this->m_hWnd,NULL);//顯示菜單并獲取選項IDif(xx==IDR_SHOW) {this->ShowWindow(SW_SHOW);SetForegroundWindow();DeleteTray();}else if(xx==IDR_OTHER) {MessageBox("你點擊了“其他”菜單","提示",MB_OK);}else if(xx==IDR_EXIT) {OnBnClickedCancel();}HMENU hmenu = menu.Detach();menu.DestroyMenu();delete lpoint;}break;case WM_LBUTTONDBLCLK:{//雙擊不處理}break;}return 0;
}void ScheduleDlg::DeleteTray()//銷毀托盤圖標
{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(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));strcpy(nid.szTip,"OA");Shell_NotifyIcon(NIM_DELETE, &nid);
}

?

轉載于:https://www.cnblogs.com/suthui/p/3492962.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376172.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376172.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376172.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Owner Useful links

1、AS3天地會論壇 http://bbs.9ria.com/forum.php 2、Cocoa China中文網 http://www.cocoachina.com/ 3、IT江湖 http://www.itjhwd.com/ 4、The Swift Programming Language in github https://github.com/numbbbbb/the-swift-programming-language-in-chinese 5、Xcode 工具 …

導出配置_Lua配置表導出優化

隨著游戲的開發,項目的配置表數據越來越多,占用的內存越來越;配置表占用太大就會影響游戲加載速度,游戲流暢度的每一毫秒都是我們的必爭之路。[1] {DungeonID10000, Dungeon "王進打高俅", NextDungeonID10100, Battle…

iOS數據存取---iOS-Apple蘋果官方文檔翻譯

本系列所有文章,鏈接地址:iOS7開發-Apple蘋果iPhone開發Xcode官方文檔翻譯PDF下載地址(2013年12月29日更新版) 本文對應pdf文檔下載鏈接,猛戳—>:數據存取文檔.key.zip3.1 MB數據存取文檔.pdf1.1 MB 數據存取/*技術博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://w…

企業QQ 增加在線交談鏈接

企業QQ的在線交流鏈接跟普通QQ的在線交流不一樣&#xff0c;普通QQ的在線交流&#xff0c;可以在http://shang.qq.com/v3/widget.html生成&#xff1b;企業qq的鏈接可以按以下步驟添加&#xff1a;第一步&#xff1a;引入企業QQjs腳本&#xff1a;<script charset"utf-…

為什么打不開_發票查重百科導出的發票臺賬為什么附件打不開?

1在掃描完發票之后&#xff0c;很多人都習慣性的定期將掃描的電子發票臺賬導出來&#xff0c;目前電子發票查重工具小程序版提供了兩種導出方式&#xff1a;通過郵件的方式將指定日期內的發票臺賬直接發送到指定的郵箱&#xff1b;直接將指定日期內的發票臺賬下載到手機上進行查…

無法找到腳本文件 C:/Windows/explorer.exe:574323188.vbs

今天打開電腦后電腦有點反常&#xff0c;在啟動時沒有運行 “局域網” 保護的程序&#xff0c;而且還他是 “無法找到腳本文件”如下圖&#xff1a; 發現這個東西后&#xff0c;第一反應&#xff0c;拔掉網線、因為很有可能是中病毒了&#xff0c;當時就出了一身冷汗&#xff0…

【轉】成功的程序員

我算是靠坑蒙拐騙進了程序員的門&#xff0c;然后一路狂奔。26 歲之前幾乎沒有任何寫代碼的經驗&#xff0c;研究生畢業卻意外選擇了一家不可能提供培訓的初創公司&#xff0c;在每日擔憂公司倒閉、害怕被炒魷魚以及同事冷落白眼的三重壓力下逆流而上&#xff0c;一年半后離職&…

requests 分類多級頁面_scrapy框架爬取多級頁面

spides.py# -*- coding: utf-8 -*-import scrapyfrom weather.items import WeatherItemfrom scrapy.crawler import CrawlerProcessimport re多級分類爬取class IgxSpider(scrapy.Spider):name igx_resultallowed_domains [www.igxpt.com]# start_urls [http://www.igxpt.c…

T-SQL:SQL Server-數據庫查詢語句基本查詢

ylbtech-SQL Server-Basic:SQL Server-數據庫查詢語句基本查詢SQL Server 數據庫查詢語句基本查詢。 1&#xff0c;數據庫查詢語句基本查詢數據庫SQL ServerOracle基本語句 select select * from titles select title_id,title,price,pub_id from titles select * from title …

C:打印菱形(自己的方法)

//-------------------&#xff0a;打印菱形&#xff0a;--------------------- int i,j,k; int n; printf("請輸入一個奇數n&#xff1a;"); scanf("%d",&n); for (i0; i<n/2; i) { for (j0; j<n/2-i; j) { printf(" "); } for (k0; …

修改無效_修改勞動合同日期被認定無效,青島一企業被判賠雙倍工資

勞動合同法規定&#xff0c;用人單位超過一個月不滿一年未與勞動者訂立書面勞動合同的&#xff0c;應當向勞動者每月支付二倍的工資。在現實中&#xff0c;經常遇到的情況是續簽合同時&#xff0c;已經到期的勞動合同與新合同之間的空檔期&#xff0c;如果管理混亂或者遇到特殊…

HDUOJ-----2065紅色病毒問題

"紅色病毒"問題 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3339 Accepted Submission(s): 1422 Problem Description醫學界發現的新病毒因其蔓延速度和Internet上傳播的"紅色病毒"不相…

下拉框_jQuery 美化界面的下拉框

插件簡介之前我們介紹過一款基于jQuery多級聯動美化版Select下拉框&#xff0c;很多朋友都非常喜歡&#xff0c;可見經過美化過的下拉框的確可以讓你的網頁更為精妙。今天我們要介紹的這款美化界面下拉框也是基于jQuery的&#xff0c;它的特點是可以通過上下箭頭微調選擇&#…

字體縮放 SignedDistanceField

Unity中如果使用位圖字體&#xff0c;在縮放較大的情況下&#xff0c;字體失真嚴重&#xff0c;使用矢量字體可能會存在內存過大的情況。 Signed Distance Field Font Rendering將字體保存在圖片內&#xff0c;但是圖片存儲的并不是像素&#xff0c;而是距離&#xff0c;再通過…

【轉】SQL刪除重復數據方法

例如&#xff1a; id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c …

python批處理柵格轉點_python獲取柵格點和面值的實現

1、獲取指定位置的點值&#xff1a;OutputFile open(statisticResultTXT, w)cellvaluearcpy.GetCellValue_management(inputfilepathfilenname".tif",staionXY, "1")OutputFile.write(stationID"_"filenname""str(cellvalue)\n)Outpu…

看看別人的演講

淘寶&#xff1a;http://www.w3cmark.com/2014/137.html 轉載于:https://www.cnblogs.com/gaoxue/p/4330728.html

jsp中獲取WebContent路徑

方法一&#xff1a; 1 <script type"text/javascript" src"../js/data.js"></script> 方法2&#xff1a; 1 <% 2 String path request.getContextPath(); 3 String basePath request.getScheme()"://"request.getServerName()&…

layui文本框填充值_layui輸入框中只允許輸入整數的實現方法

如下所示&#xff1a;//轉化正整數function zhzs(value){value value.replace(/[^\d]/g,);if(!value){value parseInt(value);}return value;}其他的正則function clearNoNum(obj){obj.value obj.value.replace(/[^\d.]/g,""); //清除“數字”和“.”以外的字符ob…

YQL獲取天氣

$(function () { $.getJSON("http://query.yahooapis.com/v1/public/yql?callback?", { q: "select * from json where urlhttp://m.weather.com.cn/data/101210101.html", format: "json" }, function (data) { if (data.query.results) { v…