亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

(三)具體函數(shù)內(nèi)容
1、最小化到托盤(pán)函數(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;//自定義的消息名稱(chēng)
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(nid.szTip,"程序名稱(chēng)"); //信息提示條
Shell_NotifyIcon(NIM_ADD,&nid); //在托盤(pán)區(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://右鍵起來(lái)時(shí)彈出快捷菜單,這里只有一個(gè)“關(guān)閉”
{
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠標(biāo)位置
CMenu menu;
menu.CreatePopupMenu();//聲明一個(gè)彈出式菜單

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);//簡(jiǎn)單的顯示主窗口完事兒
DeleteTray();
} break;
default: break;
}
return 0;
}

刪除托盤(pán)圖標(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; //自定義的消息名稱(chēng)
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(nid.szTip,"程序名稱(chēng)"); //信息提示條為“計(jì)劃任務(wù)提醒”
Shell_NotifyIcon(NIM_DELETE,&nid); //在托盤(pán)區(qū)刪除圖標(biāo)
}

相關(guān)文章

  • C語(yǔ)言中auto,register,static,const,volatile的區(qū)別詳細(xì)解析

    C語(yǔ)言中auto,register,static,const,volatile的區(qū)別詳細(xì)解析

    以下是對(duì)C語(yǔ)言中auto,register,static,const,volatile的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • 頭文件不宜定義變量的原因全面解析

    頭文件不宜定義變量的原因全面解析

    以下是對(duì)頭文件不宜定義變量的原因進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • Qt實(shí)戰(zhàn)之實(shí)現(xiàn)圖片瀏覽器

    Qt實(shí)戰(zhàn)之實(shí)現(xiàn)圖片瀏覽器

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)簡(jiǎn)易的圖片瀏覽器,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2023-03-03
  • 詳解C語(yǔ)言-二級(jí)指針三種內(nèi)存模型

    詳解C語(yǔ)言-二級(jí)指針三種內(nèi)存模型

    這篇文章主要介紹了詳解C語(yǔ)言-二級(jí)指針三種內(nèi)存模型的相關(guān)知識(shí),文中代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • QT實(shí)現(xiàn)簡(jiǎn)單打地鼠游戲

    QT實(shí)現(xiàn)簡(jiǎn)單打地鼠游戲

    這篇文章主要為大家詳細(xì)介紹了QT實(shí)現(xiàn)簡(jiǎn)單打地鼠游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Qt5.9程序打包發(fā)布的實(shí)現(xiàn)

    Qt5.9程序打包發(fā)布的實(shí)現(xiàn)

    本文主要介紹了Qt5.9程序打包發(fā)布的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C++?Boost?StringAlgorithms超詳細(xì)講解

    C++?Boost?StringAlgorithms超詳細(xì)講解

    Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱(chēng)。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱(chēng)
    2022-11-11
  • C語(yǔ)言棧與隊(duì)列相互實(shí)現(xiàn)詳解

    C語(yǔ)言棧與隊(duì)列相互實(shí)現(xiàn)詳解

    棧和隊(duì)列,嚴(yán)格意義上來(lái)說(shuō),也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯?chǔ)邏輯關(guān)系為 "一對(duì)一" 的數(shù)據(jù),但由于它們比較特殊,本章講解分別用隊(duì)列實(shí)現(xiàn)棧與用棧實(shí)現(xiàn)隊(duì)列
    2022-04-04
  • 匯編語(yǔ)言常見(jiàn)錯(cuò)誤信息中文注解

    匯編語(yǔ)言常見(jiàn)錯(cuò)誤信息中文注解

    這篇文章主要介紹了匯編語(yǔ)言常見(jiàn)錯(cuò)誤信息中文注解,本文收集大部分匯編中常見(jiàn)錯(cuò)誤信息及對(duì)應(yīng)的中文注解,需要的朋友可以參考下
    2014-09-09
  • C語(yǔ)言實(shí)現(xiàn)用戶(hù)態(tài)線程庫(kù)案例

    C語(yǔ)言實(shí)現(xiàn)用戶(hù)態(tài)線程庫(kù)案例

    下面小編就為大家?guī)?lái)一篇C語(yǔ)言實(shí)現(xiàn)用戶(hù)態(tài)線程庫(kù)案例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論