最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于在MFC中將窗口最小化到托盤實現(xiàn)原理及操作步驟

 更新時間:2013年01月28日 10:38:52   作者:  
最小化的原理:首先要將窗口隱藏,然后在右下角繪制圖標;恢復的原理:將窗口顯示,再將托盤中的圖片刪除,接下來介紹實現(xiàn)方法,感興趣的朋友可以了解下啊,希望本文對你有所幫助
步驟/方法
(一) 原理
1、最小化的原理:首先要將窗口隱藏,然后在右下角繪制圖標。
2、恢復的原理:將窗口顯示,再將托盤中的圖片刪除。

(二)程序實現(xiàn)
1、自定義消息WM_SHOWTASK:
#define WM_SHOWTASK (WM_USER +1)
2、在MFC的
::OnSysCommand(UINT nID, LPARAM lParam) 函數(shù)體中增加一個命令響應
if(nID==SC_MINIMIZE)
ToTray(); //最小化到托盤的函數(shù)
3、在消息映射中添加
ON_MESSAGE(WM_SHOWTASK,OnShowTask); //其中WM_SHOWTASK是消息名,
OnShowTask是自己定義的消息響應函數(shù),后面有說明。

(三)具體函數(shù)內容
1、最小化到托盤函數(shù)
復制代碼 代碼如下:

void CMyDlg::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,"程序名稱"); //信息提示條
Shell_NotifyIcon(NIM_ADD,&nid); //在托盤區(qū)添加圖標
ShowWindow(SW_HIDE); //隱藏主窗口
}

2、恢復界面函數(shù)
在頭文件中定義消息響應函數(shù)
復制代碼 代碼如下:

afx_msg LRESULT OnShowTask(WPARAM wParam,LPARAM lParam) ;
//wParam接收的是圖標的ID,而lParam接收的是鼠標的行為
LRESULT CMyDlg::OnShowTask(WPARAM wParam,LPARAM lParam)
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP://右鍵起來時彈出快捷菜單,這里只有一個“關閉”
{
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠標位置
CMenu menu;
menu.CreatePopupMenu();//聲明一個彈出式菜單

menu.AppendMenu(MF_STRING,WM_DESTROY,"關閉"); //增加菜單項“關閉”,點擊則發(fā)送消息WM_DESTROY給主窗口(已隱藏),將程序結束。
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //確定彈出式菜單的位置
HMENU hmenu=menu.Detach();
menu.DestroyMenu(); //資源回收
delete lpoint;
} break;
case WM_LBUTTONDBLCLK: //雙擊左鍵的處理
{
this->ShowWindow(SW_SHOW);//簡單的顯示主窗口完事兒
DeleteTray();
} break;
default: break;
}
return 0;
}

刪除托盤圖標函數(shù)
復制代碼 代碼如下:

void CMyDlg::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,"程序名稱"); //信息提示條為“計劃任務提醒”
Shell_NotifyIcon(NIM_DELETE,&nid); //在托盤區(qū)刪除圖標
}

相關文章

  • C語言基礎之二分查找知識最全匯總

    C語言基礎之二分查找知識最全匯總

    這篇文章主要介紹了C語言基礎之二分查找知識最全匯總,文中有非常詳細的二分查找基礎知識詳解,對正在學習C語言基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • C++11新特性“=default”,“=delete”的使用

    C++11新特性“=default”,“=delete”的使用

    =default、=delete 是C++11的新特性,分別為:顯式缺省(告知編譯器生成函數(shù)默認的缺省版本)和顯式刪除(告知編譯器不生成函數(shù)默認的缺省版本),本文就來介紹一下如何使用
    2021-05-05
  • 深入詳解C編寫Windows服務程序的五個步驟

    深入詳解C編寫Windows服務程序的五個步驟

    本篇文章介紹了,使用C編寫Windows服務程序的五個步驟的詳細概述。需要的朋友參考下
    2013-05-05
  • C語言strlen和sizeof在數(shù)組中的使用詳解

    C語言strlen和sizeof在數(shù)組中的使用詳解

    對于 strlen 和 sizeof,相信不少程序員會混淆其功能。雖然從表面上看它們都可以求字符串的長度,但二者卻存在著許多不同之處及本質區(qū)別
    2021-10-10
  • Clion-MinGW編譯后的exe文件添加ico圖標的操作方法

    Clion-MinGW編譯后的exe文件添加ico圖標的操作方法

    這篇文章主要介紹了Clion-MinGW編譯后的exe文件添加ico圖標的操作方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • c語言for、while和do-while循環(huán)之間的區(qū)別

    c語言for、while和do-while循環(huán)之間的區(qū)別

    大家好,本篇文章主要講的是c語言for、while和do-while循環(huán)之間的區(qū)別,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C/C++利用原生套接字抓取FTP數(shù)據(jù)包

    C/C++利用原生套接字抓取FTP數(shù)據(jù)包

    這篇文章主要為大家詳細介紹了如何基于原始套接字的網絡數(shù)據(jù)包捕獲與分析工具,通過實時監(jiān)控網絡流量,實現(xiàn)抓取流量包內的FTP通信數(shù)據(jù),需要的小伙伴可以參考下
    2023-12-12
  • C++基于easyx實現(xiàn)迷宮游戲

    C++基于easyx實現(xiàn)迷宮游戲

    這篇文章主要為大家詳細介紹了C++基于easyx實現(xiàn)迷宮游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Opencv實現(xiàn)綠幕視頻背景替換功能

    Opencv實現(xiàn)綠幕視頻背景替換功能

    這篇文章主要為大家詳細介紹了Opencv實現(xiàn)綠幕視頻背景替換功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 淺談VC++中的內聯(lián)

    淺談VC++中的內聯(lián)

    在 Visual C++ 中使用內聯(lián)匯編 一、內聯(lián)匯編的優(yōu)缺點 因為在Visual C++中使用內聯(lián)匯編不需要額外的編譯器和聯(lián)接器,且可以處理Visual C++ 中不能處理的一些事情,而且可以使用在 C/C++中的變量,所以非常方便。
    2015-07-07

最新評論

离岛区| 定边县| 兰溪市| 大余县| 咸阳市| 洪湖市| 连平县| 济宁市| 成安县| 明星| 宁武县| 广昌县| 老河口市| 满洲里市| 长治市| 观塘区| 新绛县| 怀化市| 盐池县| 新兴县| 铁岭市| 庆云县| 南城县| 买车| 奉化市| 昭平县| 聂荣县| 垣曲县| 门头沟区| 迭部县| 本溪| 安义县| 芜湖市| 德惠市| 胶州市| 上思县| 鹤庆县| 泊头市| 景洪市| 嘉禾县| 双辽市|