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

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

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

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

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

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ū)添加圖標(biāo)
ShowWindow(SW_HIDE); //隱藏主窗口
}

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

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

menu.AppendMenu(MF_STRING,WM_DESTROY,"關(guān)閉"); //增加菜單項(xiàng)“關(guān)閉”,點(diǎn)擊則發(fā)送消息WM_DESTROY給主窗口(已隱藏),將程序結(jié)束。
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;
}

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法

    這篇文章主要介紹了Clion-MinGW編譯后的exe文件添加ico圖標(biāo)的操作方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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ū)別,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C/C++利用原生套接字抓取FTP數(shù)據(jù)包

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

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

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

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

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

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

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

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

最新評論

阿城市| 垣曲县| 夏河县| 永平县| 文昌市| 沙湾县| 秦皇岛市| 易门县| 永修县| 祁连县| 潜山县| 台前县| 上林县| 金门县| 陇川县| 蓬溪县| 鄯善县| 铜川市| 清镇市| 宁远县| 诸城市| 克什克腾旗| 郁南县| 余干县| 浦东新区| 岢岚县| 美姑县| 开平市| 舒城县| 赤峰市| 雷山县| 瓦房店市| 怀来县| 钦州市| 明光市| 陇川县| 桂阳县| 邵东县| 马公市| 绍兴县| 衡山县|